{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (<ipython-input-55-73b113f59b1e>, line 6)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  File \u001b[1;32m\"<ipython-input-55-73b113f59b1e>\"\u001b[1;36m, line \u001b[1;32m6\u001b[0m\n\u001b[1;33m    'ytick.labelsize':'x_large'}|\u001b[0m\n\u001b[1;37m                                 ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "params = {'legend.fontsize' : 'x_large',\n",
    "          'figure.figsize' : (60,30),\n",
    "          'axes.labelsize' :'x_large',\n",
    "          'axes.titlesize' :'x_large',\n",
    "          'xtick.labelsize' :'x_large',\n",
    "          'ytick.labelsize':'x_large'}|\n",
    "\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    " params = {'legend.fontsize' : 'x_large',\n",
    "          'figure.figsize' : (60,30),\n",
    "          'axes.labelsize' :'x_large',\n",
    "          'axes.titlesize' :'x_large',\n",
    "          'xtick.labelsize' :'x_large',\n",
    "          'ytick.labelsize':'x_large'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "sn.set_style('whitegrid')\n",
    "sn.set_context('talk')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Key legend.fontsize: x_large is not a valid font size. Valid font sizes are xx-small, x-small, small, medium, large, x-large, xx-large, smaller, larger.",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\rcsetup.py\u001b[0m in \u001b[0;36mvalidate_fontsize\u001b[1;34m(s)\u001b[0m\n\u001b[0;32m    435\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 436\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mfloat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    437\u001b[0m     \u001b[1;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mValueError\u001b[0m: could not convert string to float: 'x_large'",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\__init__.py\u001b[0m in \u001b[0;36m__setitem__\u001b[1;34m(self, key, val)\u001b[0m\n\u001b[0;32m    815\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 816\u001b[1;33m                 \u001b[0mcval\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalidate\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mval\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    817\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mve\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\rcsetup.py\u001b[0m in \u001b[0;36mvalidate_fontsize\u001b[1;34m(s)\u001b[0m\n\u001b[0;32m    438\u001b[0m         raise ValueError(\"%s is not a valid font size. Valid font sizes \"\n\u001b[1;32m--> 439\u001b[1;33m                          \"are %s.\" % (s, \", \".join(fontsizes)))\n\u001b[0m\u001b[0;32m    440\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mValueError\u001b[0m: x_large is not a valid font size. Valid font sizes are xx-small, x-small, small, medium, large, x-large, xx-large, smaller, larger.",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-27-62dc9fe07af4>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrcParams\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\_collections_abc.py\u001b[0m in \u001b[0;36mupdate\u001b[1;34m(*args, **kwds)\u001b[0m\n\u001b[0;32m    839\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mother\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mMapping\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    840\u001b[0m                 \u001b[1;32mfor\u001b[0m \u001b[0mkey\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 841\u001b[1;33m                     \u001b[0mself\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    842\u001b[0m             \u001b[1;32melif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mother\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"keys\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    843\u001b[0m                 \u001b[1;32mfor\u001b[0m \u001b[0mkey\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\__init__.py\u001b[0m in \u001b[0;36m__setitem__\u001b[1;34m(self, key, val)\u001b[0m\n\u001b[0;32m    816\u001b[0m                 \u001b[0mcval\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalidate\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mval\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    817\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mve\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 818\u001b[1;33m                 \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Key %s: %s\"\u001b[0m \u001b[1;33m%\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mve\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    819\u001b[0m             \u001b[0mdict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__setitem__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcval\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    820\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mValueError\u001b[0m: Key legend.fontsize: x_large is not a valid font size. Valid font sizes are xx-small, x-small, small, medium, large, x-large, xx-large, smaller, larger."
     ]
    }
   ],
   "source": [
    "plt.rcParams.update(params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.options.display.max_colwidth=600"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "from IPython.display import display,HTML\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "File b'day.csv' does not exist",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-40-1143e55a89c1>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mtrain\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"day.csv\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36mparser_f\u001b[1;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)\u001b[0m\n\u001b[0;32m    707\u001b[0m                     skip_blank_lines=skip_blank_lines)\n\u001b[0;32m    708\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 709\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    710\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    711\u001b[0m     \u001b[0mparser_f\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__name__\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36m_read\u001b[1;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[0;32m    447\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    448\u001b[0m     \u001b[1;31m# Create the parser.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 449\u001b[1;33m     \u001b[0mparser\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mTextFileReader\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    450\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    451\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mchunksize\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0miterator\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[0;32m    816\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'has_index_names'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mkwds\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'has_index_names'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    817\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 818\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_engine\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    819\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    820\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36m_make_engine\u001b[1;34m(self, engine)\u001b[0m\n\u001b[0;32m   1047\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_make_engine\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'c'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1048\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'c'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1049\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mCParserWrapper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1050\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1051\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'python'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, src, **kwds)\u001b[0m\n\u001b[0;32m   1693\u001b[0m         \u001b[0mkwds\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'allow_leading_cols'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex_col\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1694\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1695\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mparsers\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTextReader\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msrc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1696\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1697\u001b[0m         \u001b[1;31m# XXX\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader.__cinit__\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader._setup_parser_source\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mFileNotFoundError\u001b[0m: File b'day.csv' does not exist"
     ]
    }
   ],
   "source": [
    "train=pd.read_csv(\"day.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "day=open('C:/Users/Administrator/Desktop/python_单车/day.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "train=pd.read_csv(day)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 16 columns):\n",
      "instant       731 non-null int64\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "casual        731 non-null int64\n",
      "registered    731 non-null int64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(11), object(1)\n",
      "memory usage: 91.5+ KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.离散特征的分布\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "#对类别型特征，观察其取值范围及直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "season属性的不同取值和出现的次数\n",
      "3    188\n",
      "2    184\n",
      "1    181\n",
      "4    178\n",
      "Name: season, dtype: int64\n",
      "\n",
      "mnth属性的不同取值和出现的次数\n",
      "12    62\n",
      "10    62\n",
      "8     62\n",
      "7     62\n",
      "5     62\n",
      "3     62\n",
      "1     62\n",
      "11    60\n",
      "9     60\n",
      "6     60\n",
      "4     60\n",
      "2     57\n",
      "Name: mnth, dtype: int64\n",
      "\n",
      "weathersit属性的不同取值和出现的次数\n",
      "1    463\n",
      "2    247\n",
      "3     21\n",
      "Name: weathersit, dtype: int64\n",
      "\n",
      "weekday属性的不同取值和出现的次数\n",
      "6    105\n",
      "1    105\n",
      "0    105\n",
      "5    104\n",
      "4    104\n",
      "3    104\n",
      "2    104\n",
      "Name: weekday, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "cateqorical_features=['season','mnth','weathersit','weekday']\n",
    "for col in cateqorical_features :\n",
    "    print ('\\n%s属性的不同取值和出现的次数'%col)\n",
    "    print(train[col].value_counts())\n",
    "    train[col]=train[col].astype('object')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###2.数值型特征的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "#对数值型特征，直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000000000B8DB9B0>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000000000B966F60>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x000000000B9A65C0>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000000000B9D7C50>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb1572b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "numerical_feature=['temp','atemp','hum','windspeed']\n",
    "train[numerical_feature].hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###3.特征与目标之间的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "###3.每年骑行量的分布 violinplot中用x表示类别（年）信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0xba97128>"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xba21cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.violinplot(data=train[['yr','cnt']],x=\"yr\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "import datetime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5,1,'dayly distribution of counts')]"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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oEEAhIWFERMTw6pVq4iPj2fp0qWZHoEZ5MuXj0uXLskq7549e1K0aFFef/11IiIiiI6O5oMPPiAqKorhw4crkjMrL774InFxcbz33nucPXuWI0eOMHbsWAoWLJgZb+SIChUq0LlzZz777DP+/vtvzp8/z1dffUVUVBTt27d3SvawsDBSUlL4/vvviY+P59dff81cECghX758nD9/nmvXrhEcHExERAQffPABR48eJT4+njVr1mAwGDL/3iq+RVU+Kk6h0WiYM2cOderU4ZVXXmHo0KHUqlWLOnXqZLZ5//33KVOmDC+88AJ9+/bll19+YerUqQQEBFjtQPz8/OjRowcajYauXbs6nLtv376kpaU5NLnVqFGDBQsWcPLkSXr37k14eHjmmZMcHTt25OOPP2blypV0796dl19+mapVq/LNN98A0sH/gAEDmD59Ou+8845DObPy2muv8fHHH9OnTx8SEhJYtGgRZcqUAaBHjx4MGzaM8PBwevTowf79+3nzzTet+g8ePJhLly7RtWtXrl27ZnUvODiYpUuXUqJECUaOHEm/fv2Ii4tj4cKFVmdNSqlXrx4LFiwgLi6Ovn37MmrUKEqVKsWKFSsUxTJ99tlntGnThrfffptevXoRERHBvHnzqFatmlOyN23alHHjxrFy5Uq6du3KunXrmDx5suLf58UXX2Tv3r307NkTk8nErFmzMj3cOnfuzNq1awkPD6dx48aKx1ZxH0GtZKqSG7z66qsUKFCAzz77zGHbRYsWsWTJEjZv3qwGNqqoPCKoGQ5UfMr27duJiYlh165drF27Nse2hw4d4uLFi/zwww+MGTNGVTwqKo8QqvJR8SkLFiwgKiqKSZMmZUbv22P37t0sXLiQrl278vzzz/tIQhUVFV+gmt1UVFRUVHyO6nCgoqKiouJzHmuzm5pUUEVFRcU13PGshMdc+YD7D1BFRUXlccMTC3fV7KaioqKi4nNU5aOioqKi4nNU5aOioqKi4nNU5aOioqKi4nNU5aOioqKi4nNU5aOioqKi4nMee1drFRWVPIzJAKc3Qdy/YLgHQUUgtDNUfALUXH8PNaryUVFRyZsc+hl2fAL3blhf3/s9FKsB3b6Biq1yRzYVt1HNbioqKnmPv76CTWNtFU8GN07Dol4QtcW3cql4DFX5qKio5C1idsJOx3WesBhhzXC4e832njEN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HcuWLVsAuO6667j33ntLjfXMM89w7bXXAnDo0CGmT59Ojx496NKlC3feeSfHjx8HYODAgfzzzz+89tprDBw4kAcffJDx48eXGmvBggUMGTIEgNzcXO677z66du1Kjx49mD59OkePHtU1zz///JPevXvzxBNP0LlzZx599NEg/wYFAm+E8REI/GC325k8eTJxcXF8+umnTJo0iXfffRfwPPAnT55Mhw4d+Oqrr1iwYAFut5vHH38cgJEjR7JkyZJijUBVVfn2228ZMWIEDoeDiRMncuTIEebMmcPs2bPJyMhg+vTpgEd/sGXLllxzzTV88sknjBw5ktWrV3P48OHiuS1atIgRI0YAcP/997N//37effdd3n33XU6fPs3UqVNRVTXgPMEjtnvw4EEWLlzoZeQEgpCgCgQCn/z0009qmzZt1BMnThRve+qpp9Ru3bqphw8fVt9++23V5XIV73v//ffVnj17qqqqqnl5eWqHDh3UJUuWqKqqqmvWrFHbtWunnjp1Sl26dKmalpamHj58uPjcHTt2qM2bN1c3bNigqqqqXnzxxerLL79cvD89PV393//+p6qqqmZlZaktW7ZUd+3ape7evVtt3ry5mpWVVXxsbm6umpaWpq5atSrgPFesWKE2b95cXb9+fdB+bwJBIETCgUDghx07dlCvXr1i2XiAtm3b8umnn1KrVi0uu+wy5s6dy9atW8nMzGTjxo3F7dYjIiIYNGgQixYtIj09nUWLFjFw4ECio6OLx61Vq1bxuE2bNiUuLo6MjAzatGnjNZcLL7yQRYsWMWHCBBYtWkTbtm1p1KgRP/30EwBDhw4tdbzT6SQzM5MuXbr4nWcRycnJQfu9CQSBEMZHIDBIURfZw4cPc8kll9C8eXP69u3LqFGjyMjI4OWXXy4+duTIkdx6663k5+fz3XffMWvWLACsVqtmV9uyHSJLMnLkSN58800OHjzIokWLGDlyZPE5ZrOZhQsXeo1Zo0YNXfMsmpNAEC6E8REI/NCiRQv2799PdnY2iYmJAPzzzz8A/PDDD1gsFubMmVP80F++fHmp83v16kVkZCSzZ8/G4XDQt29fwLPK2b9/P0eOHCle/Wzfvp3c3FyaNGmiOZcmTZrQunVrPv74YzZv3sybb75ZvN3hcJCfn0+rVq0AOHHiBPfccw+33347q1evDjhPgSDciIQDgcAPPXv2JCUlhbvvvptt27axePFiFixYAEB8fDzZ2dksX76cffv28f777zNv3rxSTQgVReGCCy7g7bffZujQocWrpl69etGsWTOmT5/Opk2bWLduHXfddRcdO3akbdu2PuczcuRIZs+eTY8ePYprf5o0acLAgQO5++67WbNmDdu3b2f69Ols376dxo0b65qnQBBuhPERCPxgMpl4++23kWWZ0aNH8/LLL3P11VcDMGzYMEaPHs1dd93FRRddxFdffcXDDz9MXl4eu3btKh5jxIgRFBYWFmemAciyzOuvv05MTAxXXnklkydPplWrVrz11lua7rgiLrzwQux2e6mxAJ566inS0tKYOnUql19+ObIs884772C1WnXPUyAIJ6KTqUAQYpYsWcLjjz/O0qVL/RoWPWzZsoWxY8fy22+/eSUMCATVCRHzEQhCxN69e9mwYQOvvvoqV1xxRYUMz9GjR1m1ahVz585lxIgRwvAIqj3C7SYQhIisrCzuv/9+GjRowMSJEys0Vl5eHvfddx8ul4tp06YFaYYCQeUh3G4CgUAgCDti5SMQCASCsCOMj0AgEAjCjjA+AoFAIAg7wvgIBAKBIOwI4yMQCASCsPP/T6ECw9ZWz18AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc56e438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train['date']=pd.to_datetime(train['dteday'])\n",
    "train['dayofyear']=train['date'].dt.dayofyear\n",
    "fig,ax=plt.subplots()\n",
    "sn.pointplot(data=train[['dayofyear','cnt','yr']],x='dayofyear',y='cnt',hue='yr',ax=ax)\n",
    "ax.set(title=\"dayly distribution of counts\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###3.3 季节与骑行量的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0xad61710>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEOCAYAAAC976FxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzsnXl4FGW6t+/q7iSdkJBACIQ9YREQWSSyuoCgowygHgfR4eioo9/AJzOMeMQZF0YPLucMsqOifoPjMCwCOiMBQTYFVJQtsu+QsIVAEiAkZOl01/v9UV2VhZC1uqsq1H1duVJd69Pd1fV7l2eRhBACGxsbGxubAOMw2gAbGxsbmxsDW3BsbGxsbIKCLTg2NjY2NkHBFhwbGxsbm6BgC46NjY2NTVBwGW2AWdm5c6fRJtjY2NhYkqSkpArX24JTCdf70GxsbGxsKqayxrohQ2p79uzhjjvu0F7n5OQwbtw4kpKSGDRoEMuWLdO2eTweXnnlFfr06cOAAQOYO3eutk0IwbRp0+jXrx+9e/fmrbfewufzads//fRT7rzzTnr16sWLL75Ifn5+cN6gjY2Njc01BFVwhBB8/vnn/Pa3v6W4uFhbP2nSJCIiItiyZQuzZ89m6tSpHDp0CIAZM2aQnp7Ohg0bWLRoEcuWLeObb74BYOHChWzcuJHk5GRWrVpFSkoKixYtAuDbb79l3rx5zJ8/n02bNpGTk8Ps2bOD+XZtbGxsbEoRVMH58MMPmT9/PmPHjtXWXb16lfXr1zN+/HjCwsLo3r07w4cP13o5ycnJjBkzhqioKBISEnj88cdZunQpAMuXL+fJJ5+kadOmxMXFMWbMmDLbRo4cSWJiIlFRUfzxj3/k888/L9MDsrGxsbEJHkGdw/nVr37F2LFj2bZtm7bu5MmTuFwuWrdura1LTExk7dq15OTkkJWVRYcOHcpsW7hwIQAnTpy4ZtuxY8cQQnDixAnuvffeMttyc3M5f/48LVq0qJa9hYWFtX6vNjY2NjZlCargNG3a9Jp1+fn5uN3uMuvcbjeFhYUUFBQAEB4efs02gIKCgjLHhoeHI8syHo+nwm3qMdVl//791d7XxsbGxqZyDPdSCw8Pv6YnUVhYSEREhCYYhYWFREZGltkGivgUFRVpxxUUFOByuQgLC6twG0CDBg2qbVvXrl1r96ZsbGxsblAqa6gbLjht27bF6/WSnp6uDXWlpqbSoUMHYmJiiI2NJTU1lSZNmmjb2rdvD0D79u1JTU2lR48e2rZ27dpp206cOKFdJzU1laioqAp7WdejfM/LxsbGxqb2GJ5pIDIykiFDhjBt2jQKCgrYs2cPK1euZMSIEQA88MADzJkzh8uXL5OWlsaCBQt48MEHtW3z5s0jIyODrKwsPvroozLblixZwtGjR8nLy2P27NmMGDECh8Pwt2xjc0NQVFSEXf1EHzIzM/niiy/IzMw02pQ6YXgPB+DNN9/k9ddfZ+DAgURERDBx4kSt1/L888/zzjvvMHToUCRJ4je/+Q1Dhw4FYPTo0WRlZTFy5EiKi4sZMWIETz/9NACDBw/mzJkzjBkzhitXrjBw4EBeeuklw96jjc2NxOHDhxk/fjydO3dm5syZSJJktEmWZurUqfz4449s27aNv/71r0abU2skuwBbxezcudPONGBjU0vefvtt1qxZA8DatWvt4ek6ctddd2nLmzdvNtCSqqns2WmPL9nY2OhO6awepYO8bW5sbMGxsUHJgvHuu+/y5z//mdzcXKPNqVeU9ha1ubGxBcfGBiUAecWKFWzZsoX169cbbU69oiaxbzb1G1twbGwoOwR09epVAy2pf9hJc21UbMGxsaFsGiPbj6bulP4M8/LyDLTExkzYgmNjQ1nB8Xq9BlpSPyjdq8nJyTHQEutTPuGwlRMQ24JjY0PZYTR7CKjuXLp0qcJlm5pT3onFyj1GW3BsbCj7I7a91OpOdnZ2hcs2Nefy5ctlXltZwG3BsbEBrly5oi3bglM38vPzy3yeGRkZBlpjfcoLtpUF3BYcGxvKtiLLtyhtakZ6enqZ12fPnjXIkvrBhQsXKn1tJWzBsbHBHgLSk9TU1DKvT548aXv+1YFz586VeW3lHqMtODY2UCYLb1ZWFrIsG2iNtTl27BgAQlJEJj8//5qHpk31OXPmTJnXp0+fNsiSumMLjo0NZVuNHo/H0hOzRnPw4EEARIJAOESZdTY15+TJk5W+thK24Njc8BQUFFwzjGbPO9SOoqIiDhw4oLyIAxoriz///LNhNlkZj8ejDVF2969LTU21bEJUW3AszJEjR/jwww8tX5TJaCoaojh16pQBllifPXv24PF4ABBNBaKp0sPZvn27PY9TC06cOKEFIqsJ/71eb5lqxlbCFhwL88Ybb7Bo0SI++OADo02xNOqP1+0UdI4pLrPOpmaotVpEtIAwEM0VkTl37pw2t2NTffbs2QNAJJAINCi33mrYgmNh1MnEDRs2GGyJtTl69CgAbaO8tI1S0oYcOXLESJMsSXFxMRs3blRe5INjtQOiQUQoomNn4a45u3fvBqAtICHR1r9+165dhtlUF2zBsbnhUeccEqN8JDYsERw7p1rN2Lx5Mzk5OQgEUrGElC9BAYi2iuCsXr1aG26zqRqv18vOnTsBaO9fp/5PSUmx5P1pC47NDU1hYaHWm+kQ46VjtFdbr/Z8bKpGCMGSJUuUF03KbUsUCASXL19m3bp1wTfOouzevVvL65cIeBF09G+7evWq1vuxErbg2NzQ7N27V/P46RLjpWm4TKMwJQYnJSXFSNMsxfbt2zl06BAAcrtyMUwNQLRSejkLFiywZMvcCDZt2gRAM+AfwCwgyv+69HYrYQuOzQ3N1q1bAWjVwEd0mECS4JbGigBt27bNSNMsg8/n0xxXRKzQXKFLI7oognP27FmWL18eTPMsidfr1QSlHXDZ/3cFuMW/z6ZNmywn3rbg2NywCCH44YcfALg1zoNXBq8MPZsogrNnzx67lks1+PLLLzWvPrm7DFIFO8WA3Fbp+XzyySd2+qAq2Lp1qxZ83LncNjUe59KlS5ZrFNmCY3PDcvToUS3As0dsMRO3NGTilobc3KiYEIfA5/Px3XffGWyluUlPT+fjjz8GQG4jXzN/UxrRTSBcgtzcXGbMmGHH5VTCypUrAUgAYspta4xEQrn9rIItOBbF/rHWHXUCOy7cR0yoILPQSWahk3yvg56xxWX2sbkWr9fLW2+9RUFBASJMIHpWcU+Gg+ih7LN582ZWr14dBCutx/nz5/nxxx+BkmDP8vTy/9+yZQvnz58Pil16YAuORbHa2K3ZKC4uZu3atQAMaOZBKjcMNKC54r77888/X5Nu30bh448/Zt++fQDISTKEVX2MSBSIeEV0ZsyYwfHjxwNpoiVJTk5GlmUigK7X2ecWIByQZZnk5OTgGVdHbMGxKHY8Q9347rvvtDHygS2v/SxvbVJMdKgy52ClH3SwWLNmDZ999hkAckcZWlbzQAnkPjIiXFBUVMTLL79sJ0otRVFRkXa/JQEhFU6IKevV3k9ycjJFRUXBMbCOmEZwUlJSePjhh+nVqxf33XcfK1asACAnJ4dx48aRlJTEoEGDWLZsmXaMx+PhlVdeoU+fPgwYMIC5c+dq24QQTJs2jX79+tG7d2/eeustfD5f0N9XoLAFp26o91H32GKahl9bisDlgIEtlB/xihUrKCgoCKp9Zmb37t1MmTIFANFEILrXcHg3DOT+MsIhyMjI4NVXX7XMAzPQrFu3jpycHBxA3yr27YvyAM/JybHM0K8pBMfn8zFu3Dh+97vfkZKSwttvv82f//xnzpw5w6RJk4iIiGDLli3Mnj2bqVOnav7+M2bMID09nQ0bNrBo0SKWLVvGN998A8DChQvZuHEjycnJrFq1ipSUFBYtWmTk29QVW3Bqz969e9m/fz8A97cpvO5+97Qqwikpk9yrVq0Klnmm5vjx47z88ssUFxcjGgjkAXLtniKxIHorQrVv3z7eeOONG36YWAihNYRuBqKv07tRiUHiZv/ysmXLLDGvawrBuXLlChcvXsTn8yGEQJIkQkJCcDqdrF+/nvHjxxMWFkb37t0ZPny49qUkJyczZswYoqKiSEhI4PHHH2fp0qUALF++nCeffJKmTZsSFxfHmDFjtG31AaumJzcD//znPwFoHemlW+PrP+QauwUD4hVhX7x48Q3/mZ89e5aJEyeSl5eHCBXId1Zv3uZ6iDYCuZvSu/zhhx949913b+jCdzt27NBKEQyo5jHqfqmpqVoaHDPjMtoAgEaNGjF69GheeOEFJk6ciCzLvP3221y6dAmXy0Xr1q21fRMTE1m7di05OTlkZWXRoUOHMtsWLlwIKNl+y287duyYJmjVobDw+q1fo7l69WqZ12a21UwcOnSIn376CYAHEwuvcRYoz4iEQr4/F8qFCxdYvnw5w4cPD4KV5iMzM5MXXniBrKwshNMvNlF1P6/oJJALZRxHHaxevZqQkBDGjRtX7d9ofUJtELcCWlfRu1FpjUQrBGeAJUuWcMstt1R5jJGYQnBkWcbtdjNr1iwGDx7Mli1b+K//+i/mzp2L2+0us6/b7aawsFAbUw8PD79mGyhFtUofGx4ejizLeDwewsKq1yxTh13MSPkCYWa21Uyo83wtG/jo07TqHkuLBjID4j38kBHGP/7xD1q2bEloaGigzTQVOTk5vP/++2RmZiIcAvkOucJsArVCUlylZa+MI9VBcnIyubm5jBgx4oYSnaysLC2Is38Nj+0HfI6SGWPz5s3ExsbqbZ5umEJw1q5dy549e/jTn/4EwKBBgxg0aBBz5sy5puVeWFhIRESEJiaFhYVERkaW2QaK+JSeiCwoKMDlclVbbAC6dr2eU6LxhISElHltZlvNwo4dO7REnSPbF+Co5vPs4XaF/HQ+lJycHA4fPsxjjz0WQCvNxaVLl5gxY0aJ2AyQoanOF5FAJPlF57SDb7/9lvj4eJ5++mmdL2RePvnkE4QQNABtXqa6dAVWA1eF4Pjx49x11136G1gDKmv8mkJwzp07d80kuMvlomvXruzcuZP09HRatGgBKGOVHTp0ICYmhtjYWFJTU2nSpIm2rX17JYF3+/btSU1NpUePHtq2du3a1ciu8r0rM1FecEJDQ3E4TDElZ0p8Ph/z5s0DoGO0l9viqj8f0yxCZnDLItadcbNkyRIeeughYmLKx3/XP65cucIrr7yiVD+VFM8ymgfoYhKIPgIhC6SzEosXLyYyMpInnngiQBc0Dz6fT/My6wW4qjmcpuJC4lYE36M03n/3u9/hdDr1N1QHTPGEGjBgAAcPHuSLL75ACMG2bdtYt24dw4YNY8iQIUybNo2CggL27NnDypUrGTFiBAAPPPAAc+bM4fLly6SlpbFgwQIefPBBbdu8efPIyMggKyuLjz76SNtWH7CCR4qZWLVqlRZk+OuO+VXO3ZTnP9oV4nYKrl69qglXfSY/P5+XXnpJ+cwk8PX1QYsAX9QBcj9ZqxL6//7f/+OLL74I8EWNZ9euXVpuuVtreQ71uOzsbFOXLTCF4HTq1InZs2czf/58kpKSmDx5Mn/961/p1q0bb775Jl6vl4EDBzJ+/HgmTpyo9Vqef/55EhISGDp0KKNHj2bUqFEMHToUgNGjRzN48GBGjhzJsGHD6NWrV73uotsCdH3y8vL429/+BkC/Zh5uiql5PFbDUMFDicq84YoVK+p1hLzX6+X111/XCtPJt8nQuoqD9MLhj9FpqtzPs2fPrvcVbdUqqfFAXA17NypNkYgvdz4zYoohNYDBgwczePDga9bHxMQwa9asCo9xu91MnjyZyZMnX7PN6XQyYcIEJkyYoLutZuRGmmCtKZ9++imXLl0ixCF4rEPtAzjva1PEN2fDuFAAs2bNYtasWfXuc1cDptWyDXJPGZEQ5MaME+TbZRwbHXAJ3nnnHZo2bUq3bt2Ca0cQEEJon3VN527K0wXIAH766acaeeMGE1P0cGxqTvn5GjPeXGYgLS1NG5YZ3raQJhVkFaguIQ74z5sUwdq1a5cWZFyf+Ne//sVXX30FgNxJRnQ0qOfsAvlOGREpKC4uZtKkSZZKUlldzp07R0ZGBgAdqti3KtRqoBkZGZw7d66OZwsMtuBYFFtwqkYIwaxZs/D5fMS6fQxPqHusUq8mxXTzZ5L+4IMP6lXKm8OHD/Pee+8BIFoIRDeDh2nDlJ6OcAkuXrzI5MmT61V6KoCDBw8CylBTXafIWlAyZKWe12zYgmNRbI+0qtm8ebMWff2fHQsI08FxR5LgiZvycUqCzMxMFixYUPeTmoCioiLefvttJdtHpEDuc51CasGmoZLsE5SUREuWLDHYIH05evQooMzfOOv4gTtLzeOo5zUb9lPLotg9msopKiri/fffB6Br42J6VyPIs7q0aCAztI0S4/XZZ5/Vi/IFX3zxBWlpaYr7c28ZQqo8JHi0BDlBEZ2///3vZGVlGWyQfqhDX3qFaqrxuOowndmwBcei2D2cylm6dCkZGRk4JMETN9XcDboqHkwsIDpUpri4mA8++EDfkweZvLw8LSWUnFh51U6jED0EIkQpaTB//nyjzdGNzMxMAKJ1Op8aHaae12zYTy2LYvdwrk92drY21DWkZRGtIvVPCBnuglF+j7fNmzeza9cu3a8RLNavX09ubi7CIRA3m9S9PhREZ8W21atXk5+fb7BB+qC+j/Aq9qsuaqi6WT8fW3Asih13c30+/fRTCgoKiHDJPNwucElN72zuoW2Ukm167ty5lv1O1Ch30VLo9+QLACJRICSll/Pdd98ZbY4uqOm39IpPUUdCzZrM1xYci3Ijp3GvjNOnT7PSX7zvgYRCokIDJwIOCX7dUenlHDx4kE2bNgXsWoHC4/FoAZ6ilckFMwwtj9uePXsMNUUv1BQ0en3y6nns1DY2ulK+NotVW9d68+mnn+KTZRqHyfyideCrSN7S2Ku5SX/yySeWc9s9efJkic2NjLWlOohGyn1+7Ngxgy3RB5dL6dvoVXpOfSqUz7VoFmzBsSjlS/LaFUCV3o2aBuXBxAJCg9TIG9lO6eWkpaVZrpeTl5dX8sK8uWpL8NtYxm4Lo2W61+l86nnU85oNW3AsSvkx2voUgFhbPvvsM2R/72Zgi+AJcPtoHz38vZzFixdbqrcZkKHZyyWL0i4JLup/ifoypNywYUMA9JriV58CUVE6VMcLALbgWJTc3NxKX99oXL58ma+//hqA+9sU4grynT2srdIAOHz4sKmz9ZanTLEuPdosF8GxreTDd5xz4Njk0E90/E9mMxcZqwlqmYurVexXXdR+X6NG5hwftQXHouTk5FT6+kZj9erVFBcX43YKBrUM/NxNebo08moea8uXLw/69WtL8+bNSyaYL1e+b3WQjkhIvrIu+5JXQjqqjxu/lKOcp1WrVrqcz2hUYdBrgFAVLltwbHRFrZ9xvdc3EkIILeFk/3gPEQbkQJckJeYHYNOmTZbpcYaFhdG5c2cApAt1FwUpq+JzSJk6CI4P8CcZUEuUWB1VGPQaUrMFxyYgXLhwodLXNxLHjh1TqlICA1sEv3ej0i/eQ4hD4PV6LeU80Lt3bwCks1Ld/XOvN7Wix5TLebTeU1JSkg4nNJ7oaCXHgF6Co55HnRsyG7bgWJTyuZLMmo48GKhBgLFuH+0bGueWHOGC7n7nge+//94wO2qKWodKKpTAxO0Wx0nlcdWjRw+aNm1qsDX6EBERAYAezSSBQHWVadCggQ5n1B9bcCzKmTNnABD+DLNnz5410hxD2bZtGwC3NinWPWdaTbm1iSI4P//8s2Vc1RMSErRhNcdxkz4SCgD/LX7fffcZaoqeuN2Kn7cM+OrYvZQp6UiGhYXV6VyBwqR3l01l5ObmcvGi4vbja9QGUAL4bkQKCws5fPgwAF0b6xU+V3tu8fdwCgoKLBWc+OCDDyoL6eg3vqMjUqqEJCQiIyMZMmSI0eboRmn37rq2lUofb1bXfFtwLEhqaqq27G2cAChDambNnxRIjh49qkXKd4g2XnBiwwTRocpDxKxFsCpiyJAhNGzYEElISMdNlhhWRrNp6NChhIebOOFbDVF7wQ7AUUfJcSBpZzBr79oWHAty4sQJAOSQcOQopU6gEEKpZ3KDofbsGobINAozvlUnSdA2ShFAK/U63W43I0aMAEA6ISkeYSZBOiMhFUpIksTDDz9stDm6onqX6jXjouYXMKvXqi04FkQVHBHeCBEagXAq47XHjx830ixDUIufNYuomxvUqdySPDgLjoRzPKf2eXGahStPa6vNqz300EM4HA4kj4R02jy9HOmYYkv//v1p2bKlwdboi+rso1c9HPU8ZnUisgXHgqjCIkfEgiQhRzQqs/5GQp3LahRWe8E5nuPkwwMlbcyfs0L5n5SoWouO2tO6fFmHSMog0qxZM/r37w8ocyam4ApI2YotDz30kMHG6I86/xhfxX7VRT3PoUOHdDqjvtiCYzGEECVDauExIPuQI5TCsjei4KgBlg1Caj+c9vUpN0XlouMLfRJrTtfO06dBiCJ+V65cqbVNRjFs2DDAH8CpV76VOiCdVL6XuLg4LV6ovuDxeNi/fz8AeuVNUPt/Bw4cMOU8ji04FuP8+fNcvao8CULO7CR8zzJFeCgZaruRUMs0hDhqLzhHLlecmuDwpdqleA/x/6rKl5CwAv369dOCBqWzxvdyVBuGDBli2hovtWXHjh1a0t2OOp1TPU9+fj47d+7U6az6YQuOxVAdAwTgKM7HUZSHcCm+/Dk5OZYbxqkrqvtnXR6NxdcZjbve+qpw+I2xYkZjl8tVMqx2zmDByQMpV7HhzjvvNNaWALBmzRoAWgMN6+wUrRCNRGv/sprM1kzYgmMx1BQuIrRkzkF2l6Qit5JnlB6orV6f8Q5qGl6/zpi1CFZVaGljstEnJU0tUfOyhYeH06VLF+MMCQDnz59nsz/9kd5Jenr5/2/etInz58/rfPa6YQuOxVA9n+TQUvUunGEIlzLfoHpt3SioEdUen/HDPyrFsmJLaGiowZbUjq5duwL+vGVG1jm7pPzr3LmzVhmzvrBo0SJ8skwE0F3nc/cAIgCfLLN48WKdz143TCM4GRkZjBkzhl69enHXXXcxf/58QBkmGjduHElJSQwaNIhly5Zpx3g8Hl555RX69OnDgAEDmDt3rrZNCMG0adPo168fvXv35q233rJc+d+KUN0dS/dwAOQwZdz9RhMcNQiw0ESCU+C/zdQ8WVajTMkCAwVHulq/ShGonD17luTkZABuB0J0Gk5TCUFigH85OTnZVO75phAcIQTPPfcc7dq1Y+vWrcybN4/33nuPlJQUJk2aREREBFu2bGH27NlMnTpVc/mbMWMG6enpbNiwgUWLFrFs2TK++eYbABYuXMjGjRtJTk5m1apVpKSksGjRIiPfpi6oWaFFWNmHmSpAmZmZQbfJSNSHeoHXPIJT6C0ZCrIiLpdLKwwmFRn4ufozWtaXYmsq7733Hj6fjyigX4Cu0R+IArxeL++//36ArlJzTNFP3b17NxcuXODFF1/E6XTSsWNHPvvsM8LCwli/fj1r1qwhLCyM7t27M3z4cJYtW8akSZNITk5m6tSpREVFERUVxeOPP87SpUsZPHgwy5cv58knn9Syyo4ZM4b33nuPJ554otp2mTFVTFaWUhBEuMo+zESo8uC9cOGCKe0OFOqQmql6OH7Bcbvdlv0utCEsI/0e/NeWJMmyn2N5fvjhB3744QcAfgGE6ty7UQlF4l4E/0LJXP7NN98wYMCAKo8LNKYQnP3799OxY0feffddVqxYQWRkJGPHjqVTp064XC5at26t7ZuYmMjatWvJyckhKyuLDh06lNm2cOFCQHERLr/t2LFjCCGQqplSWPWRNws+n68ktsPvmaYiQhQBOnfunOnsDiRqpdMiE42WquJXOs7CauTl+cfSjPRE9l/7zJkzlv0cS1NQUMDMmTMBSESZawkkPYEUIA1lNCg0NNTwXrcpBCcnJ4etW7fSr18/vv32W/bt28ezzz7Lxx9/rKXvVlFbjar/eukPsHSLsqCgoMyx4eHhyLKMx+OpdupudfLULFy6dElbVp0EtNd+wfF4PKazO5AcOXIEAI9snh6O6jQQFxdnye/C4/GQn6+kjBZuA93//Le4w+Gw5OdYnqlTp5KTk4MLGAGlUm0GBgmJBxB8gPKM3bRpE//1X/8V0GtC5Q11UwhOaGgo0dHRjBkzBoBevXpx3333MXv27Gu60oWFhURERGhiUlhYSGRkZJltoIhPUVFJWaOCggJcLleN6kSUFzujKf1+hKusB5QqQFeuXDGd3YFE/T7NlI1dNSUkJMSS30VaWlpJensDC0eKhgIpXSI1NdWSn2NptmzZwtq1awG4B4gLsNioxCExBMEalLifwYMHa3FWRmAKp4HExEQKCgrwekvSy/t8Pm6++Wa8Xm8Zz6vU1FQ6dOhATEwMsbGxZVL1p6am0r59ewDat29/zbZ27doF4d0EDjWNC4BwlhMcfwLPoqIiU6a0CBRa4Kd5Ojjao8SqXpG7du0CQIQJMHAERjRWvtvjx49bMk2QypUrV5gyZQqgBHkG+3E/wH9dgClTphj6WZpCcG6//XYaNmzItGnT8Hq9pKSksG7dOu6//36GDBnCtGnTKCgoYM+ePaxcuVJLo/7AAw8wZ84cLl++TFpaGgsWLNAKST3wwAPMmzePjIwMsrKy+Oijj0qKTFkU9UYRSOAo1zktNcRm5R9nTVHT/Lid5uniqLaow1JWY5M/IFE0F3WvClYXmoJwCHw+nzbRbkXmzJnDxYsXCQF+Rc3r3pQuJr8KOFPDyqAOJB4GQlDKFsyZM6dGx+uJKQTH7Xbzz3/+kyNHjjBgwABefPFFXnvtNXr27Mmbb76J1+tl4MCBjB8/nokTJ9KjhzLd9vzzz5OQkMDQoUMZPXo0o0aNYujQoQCMHj2awYMHM3LkSIYNG0avXr14+umnjXybdUadIBch7mua9KKUE4G6342AmsqnLsk79SbSb4sVv4djx45pY/CilcGfaQjQTFlU41asxk8//aSlsLkHiK2h2JxB8EWp14eBT6m56DTCqWGUAAAgAElEQVRB4h7/8po1a/jpp59qdLxemGIOB6Bt27bMmzfvmvUxMTHMmjWrwmPcbjeTJ09m8uTJ12xzOp1MmDCBCRMm6G6rUaip+Mt7qIFfhPzcSPnU1NQdTdzmyVsW67clIyOjij3NhxqZLhoI/XLm1wG5g4zznJP9+/eze/durbFpBYqKipg+fTqgDGnVJuZmC1B+gLwI+BF4pIbn6gfsA04D06dP55///GeN5rT1wBQ9HJvqocbgyKEVRLA7nJrjwI0U/Knmjmsabh7BaRahzN1kZmZaaljt8OHDrFu3DgDRyeDhNJVmIGKU1vwHH3xgqYSoCxcuJCMjAwfwILUrIX3qOutrkzHRgeS3Q2kMqSEkwcQWHAuhpbUJi6pwuxwaWWa/+k5+fj6nT58GICHKW8XewUMtMS2E4OjRowZbUz18Ph8zZswAQEQJRKJJhiglkLsrInPw4EFWrVplsEHVIzs7W+st9gOa1VK9r3dX1/Zub4ZEX//y4sWLS0ZNgoQtOBZCfbheT3CEu2GZ/eo7u3fvVgJ5EbRraB6PsOhQQZxbsUf1+DI7S5Ys4cCBAwDIPWVzPRmagWipCOD7779vugzIFbFw4UKKiopwA4OMNqYcdwNulCG/YPdyzHRb2VRCYWFhSaZof4XP8txolT937NgBKD2KqFCTtMj9dG2stEG3b99usCVVc+DAAf72t78BICfIdZ67cTgc9O3bl0cffZS+ffvicNT9MSP3khGhgqtXrzJ58uQyIRRmIzc3lxUrVgBKcs5wU4xNlhCOxO3+5eTk5DLhFoHGFhyLcOjQIS3mRI6oOJmhuv7kyZOau3B9RQjBd999B0D3WPNV1uzRRLFp3759pnbiyMnJ4Y033sDr9SIaCETPugt37969mTJlCuPGjWPKlCn6lIZ2g3ybMrS2d+9ePvroo7qfM0CsXr2aoqIiQkAbvjIbfVGcAIuKili9enXQrmsLjkXYvXs3oJQhEBU5DQC+KCVRqSzL7NmzJ2i2GcGRI0c0L7DeTc0nON1iiwl1CGRZZvPmzUabUyFer5fXX3+djIwMhEMg95eVp1AdSUhI0PIVSpJE27Zt635SgJYgd1REZ8mSJZqDg9lQK212x3y9G5VwJLr5l1W37WBgC45F+PHHHwHwRbe4/k4uNz5/L8coP/tgoT5smob7SIgyz/yNitsJPf29nPXr1xtsTcXMnTuXlJQUAESSgEb6nLd0ahwhhK5VaEV3gWiinPuvf/0rhw8f1u3cenDu3DmOHTsG6F9YTW9U+44ePRo0F35bcCzAhQsXOHjwIAC+mNaV7utr1AZQUpJbyYW0Jni9Xu0hPiDeY6q0NqUZEK9EUOzatct0E91fffWVVsxQ7igjEvSbA9u+fTsvvfQS7733Hi+99JK+81gOkPvLiHChFWDMzs7W7/x1RH2vbkCnfl3ASECxE2Dbtm1BuaYtOBZg/fr1CCEQzlB80S0r3dfbWMkXl5mZyc8//xwM84JOSkqK5s55e7x588b1aFJMA5ci+mriRjNw4MABLSBRNBWI7vo6XMiyzNatW1m6dClbt27Vv+HjBvl2GeEUZGZm8vrrr5vGiUD19GsNOE06nKbiREKtpao2aAONLTgmR5ZlzePFG9vu2hxq5RARjbRhNaumA6kKdTitfUMvzRuYtxcX4oB+zZRhtXXr1pVkYDaQy5cv85e//IXi4mJEA/+8jRWfAo1A9FY+zz179vDhhx8abJCCGndVycC3qVCbr2qZj0BjxVvthuKnn37S3KG9TbtU6xhvM2W/TZs2m24op64UFRVpk/ADdOzdBMKVF2BAc6WkRFpaGidOnNDlnLVFCMHUqVO5cOGC4iQwQIbQqo8zK6K1QL5JaXAsXbo0aMNC17VHCC2zfZyhllSfJv7/6enpQWkQ2YJjYoQQLFiwAABfVDxyg+rVdvfGdkC4wpBlH0uWLAmkiUFn586dWvG9Ps30E5yAuPICHaN9NA5THoqqG7dRbNiwQRNr0VNAjKHm6ILoJhCNSpwIjAwHyMvL065vlY9W9RO5evVqSZXXAGILjolJSUlh3759ABS3qEHSQqeL4vhbAFixYoWWg60+oHrrtW/opVGYfi2yQLnyOiS4NU4Rxi1btuhyztrg8Xi0YSfRTCDaGT+8pwsOkPvICIcyn2NkA6t0vFXFuUDMR2Sp5WDEi9mCY1KEEHz88ccA+BrE4YtuVcURZSlu1hXhDKOoqIj58+cHwkRDUFPFdNM52DOQrrzdY5UJ7SNHjhiWzPOrr75ShtIkgXyrbI7EnHrREEQH5btbsmRJUCPnS1O6HEXFkXLmo7SdwSinYQuOSfn22281zxFP6941L2npCqW4heJpv2LFCk6dul7eWeuQm5urCUGnGH29kgLpyntTtGKrLMscOnRIt/PWBC0LdGthneZ3DRCdBcIhKCgoMKwnWboxYZWpsdLFCYLRGLIFx4QUFRVpwx/e6FbIlQV7VkJxfFfk0Ab4fD4++OADPU00hDNnzmjLbSL1DfYMpCtvVKigkX8ex4jEqleuXCkpqta6ngyllScMUBJtGC44odSuFIEROJC05BK24NygLF26VEk3goSnTR2yMTlcSu8I5UdotBdPXVE97kIdgoYmS9ZZFXEGFmW7cOFCiQeSTtkEzIhorLxHozwzVWcWvXs3gfKgVFF7Oar9gaTalv/mN7/hypUr16zPzs7moYce0tWoG5msrCzNM83brAsiom5PCF9se3yRStNvzpw5pgmQqw1FRYqLsdspTJtd4HqEuZSHofoegkkZzy3T1PgNAE7ln1GeaqV7OHoSKA9KFdXeYPRwKr39NmzYwM6dOwFljHvmzJm43WXLG58+ffqGKfgVDD766CMKCgoQzjA8LXvV/YSShKdtP8L3J3Py5EmWL1/Or371q7qf1wDMEDhZV4x4D82bNy95kQtUXN3C+vi9esu832Be3u9WfG0B+LpRkQflvq1bdTu/am8whLpSwencuTP/+Mc/lLQqQnDgwAFCQkrSyUqSREREBH/9618DbuiNwMGDB7XMrZ5WvSBEn1tXjmxKcZOOhGQd5ZNPPuHee++lYcOGupw7mMTEKNENucUSslBcjq3CFY9irPoegklcXByNGjXi0qVLSOmSNvQUEK43ZhLowXsZpHPKZ3zTTTcF+GIVEyjBUT0oJUnS3YMSSuwNRhxOpYLTsmVLzaX25Zdf5tVXXyUyMrKyQ2xqiRBCm9iX3TFatgC9KG59G66LqeTm5jJ//nx+//vf63r+YNCsWTMABBIZ+Q5amDitTWlkAefzlfGe+Pg6VjerBZIkcf/997N48WKk4xKik9ClDEFFiCYC6fS1LQERF9ienXRKQiqUtPdqBOqUQ7jO51U9KNu2bcvJkyfZvn27rtdQz1XRlIneVLvd8T//8z+Eh4dz6tQpjh8/zrFjx8r82dSNn376Sat542nTByR9m4QitAHFzRU36X//+9+WTHnTpk0bwsOVn8exHOtMRpy96qDQpzyEO3fubIgNDz/8MCEhIUgeCWlP4LqG4iaBcJYVF+ESiI4BFJxCkHYr7+mOO+6gVauaxazphRrHoncMTqCToar2mirwc/PmzQwcOJD77ruPYcOGMXz4cO1vxIgRgbSx3iOE0Er8+qLiqyxBUFuKm9+CcLkpLi62ZDCo0+mkWzelbNTPWQFqogeAlExlWrZRo0a0bh2Y77YqmjVrxtNPPw2A44QDAuWd3ViJ/FeRm8vIA+XAzRvJ4NjmQPJIhIeHM378+ABdqGrUB3YDwyyoHaq9wQj8rHYzcdq0afTq1Ytx48bZw2o6s3XrVi3LrKdVUs2DPKuLMxRPix6EndrK6tWreeqpp4iLs0qaQYWBAweybds2dmeFcLVYokGIuR0JhICfzivieNddd+nu0loTHnvsMbZs2cK+fftwbHMgR8hQvfR8NaPUNJXoKcrmT9ETAdIuCem88nv5wx/+oA27GsGlS5cA6wqOan8gqfbdf/LkSf74xz/SqVMnWrZsec2fTe1ZvHgxAL6oZsgNA+th423aGeEKw+v18vnnnwf0WoFg4MCBhIaG4pElNqebP5770GUXp/OUdt29995rqC0ul4u33nqL+Ph4JFnC8Z0DAv+MCQwCpL0SjuPKI+yRRx5h+PDhhppk9R6OqYbUunXrprXCbfQjLS1NK5RWHB+EorTOEIr9ZQ6++uorQ+JC6kLDhg35xS9+AcDXp9wUm9xvYGWa4gPUsWNHbTjQSBo3bsyUKVOIjo5GKpZwbHLARaOtqiGq2BxWHl+DBg3iueeeM9Qkj8ejBU5aTXDUOZz8/HyKi/XNUVieagvO/fffz+uvv85///d/8+mnn7Jw4cIyf3qRlZVF//79+fbbbwElncmTTz7Jrbfeyn333aetB2XMcdy4cSQlJTFo0CCtZC6glZ/t06cPAwYMYO7cubrZqCcrV64EQA6NxNcoOOP73qZdEEhcuXLF8JT5teHRRx/F4XCQXeRg49mwqg8wiKOXnezOVobTRo8ercVSGE1CQgIzZ84sKzoXjLaqmgiQUkrE5q677uIvf/kLTqfTULNKx7Do7RYdaErbG+hYnGrP4cybN48GDRqwadMmbZ3qFy5JEv/5n/+pi0Gvvvpqma7dH//4RwYMGMDf/vY3tmzZwoQJE1i/fj2NGzdm0qRJREREsGXLFg4fPsz/+T//h27dutG5c2dmzJhBeno6GzZsIDs7m9/+9rd06tSJwYMH62KnHvh8PtavXw+AN66j7p5p10OENcAX3RJXzhnWrFnDPffcE5Tr6kXbtm259957WbNmDf8+4eb25kVEmMxpTQhYdFRpO7Zr1467777bYIvK0r59e2bOnMmLL75IdnY2ju8cyH1lMMbBq3r4/A4CZxThHjJkCK+++ioul/FffukoffM2gSqmtODk5+cHNFas2t/U+vXr+fjjj4mNjeWRRx4B4KmnnuLOO+/kt7/9rS7GLF68mPDwcC1S+Pjx4xw5coSFCxcSEhLCwIED6dOnD19++SWPPvoo69evZ82aNYSFhdG9e3eGDx/OsmXLmDRpEsnJyUydOpWoqCiioqJ4/PHHWbp0aY0Ep7CwUJf3dT327t3LxYvKeIY3tn1Ar1Ueb5MOuHLOsHPnTrKzs2nQwFoDAY8//jjffvstVzwevjwRzuibAp8Hqib8eD6Eo37X7WeeeQaPR79icXrRsmVLpk+fzssvv0x6ejrOH53IPeXAujDXFg84fnAgZSliM2LECMaNG4fX6zVFuqbSgmO1BJWl7c3Pzw/oc6/agjN16lS++uorJk+erK27//77+fDDD8nPz+cPf/hDnQxJS0vj73//O0uXLuXhhx8G4MSJE7Rs2bJMOp3ExESOHj3KyZMncblcZdxMExMTWbt2LTk5OWRlZdGhQ4cy22o69Kdm2A0U2nCaOwYRHtwIdF9Ma4Qk4fV6+fe//82tt94a1OvrwaBBg1i7di1rTodxZ4siWkfWbkIn5DpPiOutr4p8Lyw8ovRuunTpQkRERMDvpbowduxYPv74Y86cOYNjlwO5QEZ0E+apmZMPju8cSFcUg375y19y9913a+U7zMCFC1YZk6yco0ePBtQ9utqCk5yczMyZM7ntttu0dY899hiJiYm89NJLdRIcr9fLxIkTefXVV8t05/Lz87VAPxW3201hYSH5+fnX5HVTt6mTd6WPVbfVhK5du9b0rdSIOXPmAAQs7qZSXGHIkfE4c89x4cKFgL/XQNC+fXt2797N+fPn+fvBBrx2W26t0t3cFOPlx/PXerx1alS7CdRlx8LJ8TgICQnhT3/6Ey1a1K68RDDp0aMHb775Jjt27MBx2C86vYXxzfXLfrEplHA4HEyYMIH77rvPYKOupbQ7trXccMra2717d2Jj6+YrX1njqtqCk5+fT3R09DXrY2Nj65wS4YMPPqBLly4MHDiwzPrw8PBrRKKwsJCIiIhKt6lCVFhYqMUMqdtqQnlB05PLly9z4sQJAHy1rHdTV3zRLXDmnmPXrl0Bfa+Bwu1288ILL/CnP/2JIzkuNp4NZXCrmg9d3d+mkJSsEIp8JWrldgrua13zR8exHCfrzyij+L/5zW9o165djc9hBG63mylTpvDuu++yevVqHKcciCKB3F8OWBqcKsn0D6MVK0GdkydPpm/fOpTrCCBNmjTRlo2p6Vp7StsbGxsb0GdBtdsv/fr1Y8qUKWUm9K9cucLMmTPrnC571apVfPXVV9x2223cdtttpKen88ILL5CamsrZs2fLjH+npqbSoUMH2rZti9frJT09/ZptMTExxMbGkpqaWmZb+/bBnSepjH379gFKXjBflDHBaj5/zE9GRgaZmZmG2FBX+vfvr03If3YsnMtFNe/itI/2MfbmEu+cW5t4eLlXLu2ja1bkzSvDJwcjECgZfUePHl1jW4zE5XLx5z//md/85jcASOf9HmxGNNnTwbFZEZtGjRoxe/Zs04oNKILdqJFSSsRqXuaqvY0bNw54w7PagjNp0iROnTrFXXfdxdChQxk6dCh33nknJ0+eZNKkSXUy4uuvv2bnzp3s2LGDHTt20KJFC6ZPn86YMWPo0KEDM2fOxOPxsGnTJrZu3cr9999PZGQkQ4YMYdq0aRQUFLBnzx5Wrlyppdl54IEHmDNnDpcvXyYtLY0FCxbw4IMP1slOPVG7nXJEY3AaE8AoN2iC8HvGmXmOoSrGjx9PZGQk+V6HNndSU9pElYjL4zcV1FhsANacDuOUP8jzxRdfLJNZ3SpIksSzzz7LH//4RyRJQrok4djogCD6ZEinJJxbnEiyRPPmzXn//ffp1KlT8AyoJep8stVmc9SsisHIQVdtwWnevDkrVqxg9uzZjBw5kl//+tfMmTOH5cuXBzQ/1Jw5czh8+DD9+/fnnXfeYfr06ZoX25tvvonX62XgwIGMHz+eiRMn0qNHDwCef/55EhISGDp0KKNHj2bUqFEMHTo0YHbWlAMHDgBK6QDDcLiQI5TxWjNNwNaU2NhYfve73wHw4/lQ9mUH3002u1DiXyeUOcNhw4Zp96FV+dWvfsWkSZNwOJTJ+mCJjpQm4djqAKE4+rz//vuGJeOsKTfffDMA+hYPCDyqvcGYx63RLzM0NJRBgwYxaNCgAJmj8M0332jLLVu2ZN68eRXuFxMTw6xZsyrc5na7mTx5chmvOrMgyzJHjhxRlhs0qWLvANvSoAnOq5maPVZlxIgRrFq1ikOHDjH/cATv9LuCK4gT3guPRFDkk4iOjmbs2LHBu3AAueeeewgLC+ONN96gOK8Yx0YH8iBZ//z7fqSTEo7typd20003MXXqVEPqB9WWHj168Nlnn3EOyEMQaRo3v+uTh0Ateh6MRpLRPig3JOfOndMiemsrOI78kpHi0JM/4cir3RyMev3Dhw9buqKm0+lkwoQJSJJEen7JxH0wOHTJxbYLyrDo7373uwqda6zKnXfeyVtvvaWUNsgL4JzOGTSx6dSpEzNmzLCU2AAkJSXhdrsRwAGdznm9HoFeffgDgEBx0OrVS4cKw1VgC44BqDnphORArkX8jSMvk7DjG7XXrsuncB9cVSvRkRsoQ2p5eXmWrJFTmi5dumjFt75MdXO1OPAtTCFg8VGlyd+xY0d++ctfBvyawaZ///68+eabOJ1OpFx/0k89Yy3Pow2jdezYkWnTphEVFaXjBYKD2+1mwIABAPys0znbXGd9W53Or9rZv3//oHiq2oJjAGrBOjm8EThqngMqJGMfklz2Fy/JxYRk7KvxueTwRgh/jq/6kJz12WefJSwsjLxiB6tOBb6XszMzhONXlPbmc889Z3hOr0AxYMAAXn311RJHgp8UgagzOeDY4kCSJVq1asXUqVMtWf5cZdiwYQCcAc7q8AENAMq7FIUB/et8ZjiD4Ix/OViZtm3BMQBNcCJqV5XKkZtRo/WVn8yJcMeUscvKxMXFaZkq1pxykxfAXo4Q8K8TSqswKSmJpKSkgF3LDNxzzz1aaXLpnKRV2aw1heD43oHklWjcuDHTpk3TXIutSlJSEm3aKP2S73U4XyskflXqdWfgKf/6uqLa16ZNm6Ddu7bgGECJ4NQuoleSK3bZvd76qlDtqA+CA/DrX/9aySzhk9gQwLmcPdkuzQ1araZZ33nkkUf4j//4DwAcRx1IJ2v54JPB8ZMDKV8iNDSUd955R/M+tTIOh4PHHnsMgP3AeR16OfGlloeij9icR2jzTL/+9a+DlsncFpwgk5OTo+VdUudPjMbXQOlp1RfBiYmJ0eZS1p4Owxugmjlfn1J6N7fccgvduwehlpFJ+MMf/qDl3pN2SlCLRCPSfgkpU3nIvfTSS5pLcX3g/vvvJz4+HgFsMNqY67AeZUQ0Pj4+qKmCbMEJMqXnSWo7pKY3ag/n3Llz5ObmGmyNPqgZzXM8Dn7O0j8A80KBg70XlfOOGjVK9/ObGZfLxeuvv06TJk2QfP64mZqIeiY4DimPnoceekgrqFdfcLlcWgb9g0CaLpNd+pGG4JB/+ZlnnglqeQdbcILMoUPKVy2HNQSXOSpnlHbNPnz4sIGW6EfLli21celNAShF/Z3/nI0aNeL222/X/fxmp3Hjxrz66qsASJclpIPVHJLxKjVtQKkTNG7cuECZaCj33nuvlq1+NSCbRHRkBKv9yx07dgx62XNbcIJMSYaBOIMtKYUrDNmtxI5YOcVNeVQX6b3ZIbq6SAsBW/3ZpYcMGWLJFDZ6kJSUxMiRIwEUwanG0Jp0QELKl3A6nbz22muEhZmj0aU3TqdTc7BIB1KMNUcjBcUegN///vc4HMGVAFtwgogsy+zduxcAX6QxCTuvh8+fYmf37t0GW6Ift99+OyEhIfiEpOuwWvpVB+n5ivuz2Sp5Bptnn32WuLg4JCHh2F3F4yQPpCOK8D/22GNl6lXVR3r16qXdH+uAfIN7OfkI1vmX7777bkNqYNmCE0RKFzdSMzWbBbmhUiJh7969FBVZraJHxURGRtKzZ09A8SjTi93ZinjFxMRYso6QnkRERPDcc88BIGVIlWaulPZJSEKiSZMmWkbq+s5zzz1HeHg4+aA97I1CET0lq4D6nQUbW3CCyA8//ACAHNog6BU+q8IX3RKAoqIidu7cabA1+qGmtN9/MQS9Mvfs9zsL9O7dO+hDEmbk7rvv1rI5Ow5e5/PIBcdpZdtTTz11TWHF+kqzZs148sknAdgJnDaol3MKwQ7/8lNPPVWmYFwwsX8tQUIIwbfffguAr1FbCJLfe3URoRHasFrp5KlWR01ImONxcL6g7re7LODIZaW3ZMWy3IHA4XCU1NC5IEEFFYrVobS4uLh6mf6nMkaNGkVCQgICSAZ8QRYdH4IV/uXExETNg9MIbMEJEvv27ePkSSURuDfWPIXgSqPatXHjxnrjHt2+fXutNX0sp+7DaueuOijwVwa95ZZb6ny++sLtt99Oy5ZKL1k6U64x5VVq3IBS9iCYbrhmwOVy8cILLwCQAWwN8vW3+q8L8MILLxj6+duCEyQ+++wzQMldZmgNnErwNumAkJx4PB6+/PJLo83RBZfLpU1Op+XWPc9ZWq7yYw0PDw9oHSir4XA4tJ6LlF5WcKR0CcmreKapnoM3Gj179tTqcW0ArgSpl3MFoQWf/vKXvzS8TpMtOEHg2LFjfPfddwAUN+9uuuE0DVcY3qbKWPzSpUu1EgpWRy0tfjav7oJz5qryk0lMTKy3iTprixrTIXnL3d9nlX9JSUk0bmyOYGcj+L//9/8SFRWFB7RYmECzCvAADRs2NEWdJltwAowQgtmzZwNKsKe3iTmH01SKm/dASE5ycnL49NNPjTZHFxISEgA4e7XuApHuP4d6TpsS4uPjSUxMLLtSgHReESA1df+NSkxMjPbQ3wccC3Av5xgCNapuzJgxpqgvZAtOgPn666/ZtWsXAJ62fUEy90cuwhpQ3ELJC/b5559bvhIolNSav1jkwFO7/KYaGf74G6uUPQ4212QdzgPJH3Rb37NpV4dhw4ZpeeO+ArwBEh0vgpX+5a5du2plE4zG3E8/i5ORkaH1brwxrfHFXK+ckrkobt4DOSwKn8/H22+/bfm4HHUyGyCzDp5qQig51Mqf06aE8nFJ0mVFbCIjI+05L5S5LrUybRawJUDX2QJkA5Ik8fzzz5vGfd8cVtRDPB4Pb7zxBlevXkW4wvAk3mneuZvyOF0UtR+IAFJTUzXRtCpNmzbVfnBZhbW/5a94JIpl5TusD6n0A4E6X6aRV7LeLA89o+nUqRMPPPAAAJvQ34HgCoJN/uUHH3xQi5EyA/YdECDee+89LW9aUeJdiNAIgy2qGXJUPMUtlTiTFStWsHLlyiqOMC8ul4vYWCUjdmYdBKe0WMXHx1ey541Lq1atytRWka4qy2pRMhuFZ599VnMgWKvzudeiOApERUXxzDPP6Hz2umELTgD417/+pbkVe5r3wNdYrwrkwaW45a14/RkIpk+fbuk8a6pAZNdBcNRjQ0NDiY6O1sWu+obL5SpbtbNQ+de0qTlDAYwiOjpaE4PdKOWe9eA0AvVX+swzz5juPrUFR2e2bdtWZt6muLWFJ0olB0Ud7la867xeXnvtNc6cOVP1cSZEfeDVRXDUHk7Tpk2DViHRipTxhvJP/6k9TJsSHnjgAc3bcTUg6ig6AsHX/uXExERt2M5M2IKjI8ePH+cvf/kLsiwjhzeiqP3dpvdKqxKXm8JOv0A4Q8nJyeFPf/oTV67UosSjwai5o+oyh6OKlT2cVjlRUVElL4qVf2ZraZsBl8ul1QM6hVKsrS4c8J8HlKShZszoYPGnoXnIzs7mz3/+M/n5+cgh4RR2+gW49C/8peJwOOjbty+PPvooffv2DeiErAiPofCmexCSg9OnTzNp0iSKi4sDdr1AoA2pFdQ+FkcVK6MSH1qF0ok5JaH0BBs0aGCUOaamb9++3HbbbYCSzSbk/yQAAByMSURBVLm2edZ8pUoP3HbbbVrSWrNhC44OFBUV8eqrr3L+/HmEw0nRTb9AhEVVfWAd6N27N1OmTGHcuHFMmTKF3r17B/R6csMWeBLvAODnn39m+vTpCL3SLwcB1avsYpFEcU3KIZdCdYlu0aKFXmbVSyoqquZ2uw2wxBqMGTMGgCygtrOku1DcoEufz4yYRnB27NjBI488QlJSEvfcc4+WeywnJ4dx48aRlJTEoEGDWLZsmXaMx+PhlVdeoU+fPgwYMIC5c+dq24QQTJs2jX79+tG7d2/eeustfL46Rv1dh1mzZpV4pLUbFJRqngkJCdo8giRJtG0beMcEb9xNeFoouZi++uorkpOTA35NvVDjZgQSF/JrftvLAs77gz7tGJzKCQ29tmdfXyt76kGnTp0YNGgQAN9S82BQL4KN/uXSpSLMiCkEJycnh+eee44nnniC7du3M2vWLKZPn86WLVuYNGkSERERbNmyhdmzZzN16lQOHToEwIwZM0hPT2fDhg0sWrSIZcuWaan1Fy5cyMaNG0lOTmbVqlWkpKSwaNEi3W1fs2aN5jLsaXkrvtjEKo7Qh7S0NK2HIYTQMlEHmuJWt+GNUQL4Zs+ebZlMBPHx8dqYtlqtsyZcLHTg8cfg2AGMlVNRyW0zzieYiaeffhpJkrgM7KnhsXuAyygNz6efflp/43TEFHdBeno6AwcO1LwqunbtSt++fUlJSWH9+vWsWbOGsLAwunfvzvDhw1m2bBmTJk0iOTmZqVOnEhUVRVRUFI8//jhLly5l8ODBLF++nCeffFLzThozZgzvvfceTzzxRLXtKiwsrHR7VlYWM2fOBMAb3VKLWwkG27dv56WXXqJt27acPHmS7du3gyNwc0YakkRR+0E49n1JcVEu77zzDnPmzKnwIWM2WrVqRVpaGmfynPRuWrM5qNP+pJ0Oh4OmTZtWeW/cyFQ01Orz+ezPrBKaN2/O7bffzvfff893QE8EDqr2hJQRfOdfvuOOO4iPjzf152wKwenSpQvvvvuu9jonJ4cdO3bQqVMnXC5XmRZlYmIia9euJScnh6ysrDJ10RMTE1m4cCEAJ06cuGbbsWPHEEJU26V1//79lW6fP3++kknAGYqn3V1B9UiTZZmtW7eydWup6hrBurwrjKJ2dxF+8CtOnDjBRx99pNVuNzONGzcmLS2N07XIGn3aX5YgNjaWY8eO6W1avUIto16a48ePc+nSJQOssQ59+vTh+++/Jws4ClRnYOwoytwPKPO6VT2zjMYUglOa3Nxcxo4dq/Vy5s+fX2a72+2msLCQgoICoKxHjLoNoKCgoMxEZXh4OLIs4/F4qj2eXFm9+tTU1JKknK17I0JvLC8cuWFziuM6EZJ5mE2bNvHMM8+Yvmxwr169SElJIbUWdXHUY7p27VrpfWGDVtm2NF26dKFJkyYGWGMdunbtyrp169i7dy8/UT3B+dH/v3v37qapNVSZ6JlKcE6fPs3YsWNp3bo1M2fO5Pjx49d0DwsLC4mIiNDEpLCwkMjIyDLbQBGf0kknCwoKcLlcNZq8rMyzZvXq1QghkMOi8MaZd5IukBS3vBVX1lFycnL44YcfGD58uNEmVYpaoTOzwEmORyI6tPqTsyf81UJvvvlm2+OqCipyGij9m7W5Po888gh79+7lGHARQeNKhtUuIjjuXx45cqQlPl9TOA2AooqjRo3ijjvu4IMPPsDtdtO2bVu8Xi/p6enafqmpqXTo0IGYmBhiY2NJTU0ts01NHti+fftrtrVr104XW2VZ5vvvvwcUzy1u0KSEIiwSn9+BQP08zEyXLl20omlHL1e/rZVdKJFdpHzHdlnpqqmoMJ2duLN63HHHHVqmhp+r2Ffd3qhRI+64446A2qUXprgLsrKyePbZZ3n66ad5+eWXtZszMjKSIUOGMG3aNAoKCtizZw8rV65kxIgRgJIaYs6cOVy+fJm0tDQWLFjAgw8+qG2bN28eGRkZZGVl8dFHH2nb6srFixfJylJGTn3RN7aLrPr+reCtFh4eTseOHQE4VAPBOXhJcYgIDQ3lpptuCoht9YmKxMX2UqseLpeLX/ziF4DifXa9dDcCoXmz3XvvvZb5fE0hOJ9//jkXL15k7ty53HrrrdrfjBkzePPNN/F6vQwcOJDx48czceJErS73888/T0JCAkOHDmX06NGMGjVKqxs+evRoBg8ezMiRIxk2bBi9evXSzWWw9OTnjTZ3Ux71/V+6dMkSgaA9e/YE4MDFmgiOsu8tt9xS4XCRTVkqevhZ5YFoBgYPHgzARSDjOvtk+LeX3t8KmOIuGDt2bKX1tmfNmlXherfbzeTJk5k8efI125xOJxMmTGDChAm62Vn6uho+a6V40R2fB7BOYF9SUhKfffYZp/Jc5BRJRIdVLpJCwN5spYfTq1evYJhoeSoSFyu4zZuFLl26EBcXR2ZmJoeAHhXsc8j/v2nTpnTp0iWI1tUNU/RwrEbz5s21H5UzL9Nga4zFmacMLbZp08YSGZR79Oih9VL2Xqz6IZh+1cFF//xNnz59AmpbfaG84DgcjgrndWwqRpIk+vXrB6A5BZRHdczv27evJX53Krbg1AKXy6XlLnNlHjbYGgORvbiylVtf/YGYHbfbTffu3QHYk111B3+3v3cTHR1tz99Uk/K9GXsYsuaoz5fTKMXUSuNBcKbcflbBFpxaomZFcOZm4LwUnLQyKsJRcWvxeusDRUj6biRvEQ6Hg2HDhgX12nVBFcc92SHIVUw77cpSHp6BzshdnygvMFYZbjUT3bp1A0AGLpTbdta/HtAaT1bB/gXVkv79+2vOC6GpPyB58oN2bTmq4nos11sfCBx5mYSkK7ltR44caamU/f379wcgr9jBsZzri3S+Fw77vdnUY2yqprzg2D2cmhMbG6uV1CjvOHDW/7958+Y0btw4qHbVFVtwaonD4WDixImEhobiKM4n7Mg68HmDcu3i+FsQjrLDQcIRQnF8cGJEpKJcwo6sRRIy8fHx/Pa3vw3KdfWidevWWrqkn7OuP4+zLzsEn5BwOp32/E0NKC8wVghINCOqC3/5Hs65ctuthC04daBNmza89tprADivZuI+sjYoXmtyZBxF7Qdpr70xbSjs8suglEWQinJxH1yNo7iAiIgI/vd//1fL7mAl1B7L7koERxWjbt26la1iaVMp5YfQ7CG12qHmgswut14VIDXI3UrYglNHBg0apJWJdV5Jx33oa/AWVXFU3ZEjSrrSnrb9giM2BZdxH1iJo+gKISEhTJ48WbfsDcFGFZxTeS6yC6/18pGFMscD1nGIMAt2D0cf1F546VSoghIBatOmTbBNqjO24OjAo48+yu9//3sAnHnnCd+/HKngssFW6Ysj5wzh+5NxeK4SFhbG//7v/1p6mKlbt25aslFVWEpzMtdJjkf5ediCUzPK92hswakdrVq1AqD0mMnVUq+tWAjQFhydGDVqFC+//DIulwtH4RXC9yfjvHTKaLPqjhC4zu3FfWgNks9DdHQ006dPt5w7ZnlCQ0O1QM69FQiOui4uLo7ExOAU1asv2IKjD6rTQGlyq9hudmzB0ZGhQ4cyffp0oqOjkXwe3EfWEnJqOwi56oPNiLeIsKPrCTu1FQlBYmIiH330keayaXVuu+02APZfdF3jHr3Pn/qmd+/elgqsMwNqy1zFFpzaER0dfc3wpCo4oaGhREdHB9+oOmILjs707NmTjz/+mM6dOwMQem437gNfIRXlVnGkuXDkXiB835e4/DFGd999N3PnzqVFixYGW6YfquBc9TpIv1ryUyiW4ai/HIGdzqbmlHewMHudJLMiSRKxsbFl1l31/2/SpIklG0K24ASA5s2b89577/Hwww8D/nmdvf/GmX3CYMuqgZAJObsL94EVOIpycblcPP/887zxxhuW9EarjDZt2mhxDMdyStzMT+U5KZaVH/OttwavbHh9weFwXFP80KZ2lI+zUaP9GjVqFHxjdMAWnAARGhrK888/z9tvv01UVNT/b+/Og6qq/z6Av+/O5oaAqUgCegURQ72SOBBhYDlupeQYjY/6TBk6jhsujEtp9jMzR3PXXCCjdBwy+zXaojykpLkgv8LADZ7LI0GKSBibcIHz/EHcLmCWXDjnnsv7NdPYXf3M8cL7fr/nez7fhim2nP+BNve0ueGlrWlY8nwC2l/SoYAALy8v7N69G5MmTZLlt6m/o1AozBfv5lnsAmr8vSF8evfuDXf39l/9Z48sA4dTaq3XfNqs6o8/G/fMkRsGTjsLCwtDQkKC+ZuypvgmHK98DmVZ88u5pKUqzm0YhZU1XNc8duxY7N271+77hzVuqJZX9ucIJ6+Mm61Zi4HTNpoHS+P+x3I8fwMwcETh4eGBTZs2ITY2tmEVW3UZHLK/hOaXDOkXFNTWQJfzHRxyU6Goq0Hnzp2xdu1aLFu2rENMhTS2di8z/fmjkF+ubvIYPT7Lz05H+By1l+bnwxoDp3PnzuIX0wYYOCJRqVSIiYnB7t27G1r5Q4C2IAMOV49DUV0uSU3K8iI4/vy5ueOzwWBAYmIiwsPDJalHCv379ze3zu+sqYerrg7lf4RP48IPenw8h9M2/ipwXFxcxC+mDTBwRKbX67Fv3z7zdteqsj8WFJSI2HFaEKD+NbPJwoA5c+Zg48aNcHNzE68OG6DT6cxXbD/nWY3/0jfMkiuVSlm2DrEVloHD1jat1zxYGnuYyLXVEgNHAg4ODoiLi8PatWvh4uICRV01HG6ehObWhfafYquthu7GSehuXYRCENC7d2/s2rULU6dO7bDt9xuDpaBChcKqhmPg6enJX5RW4JRa2/irwHF2lufW9h3zN4yNCA8Px4EDBxAQEAAA0P56BQ5XvwJMVX/zytZRVJbA8ecvoC5t6IAQGRmJ/fv3Y8CAAe3y98lF3759AQCFFSoUVqia3EetY7nDJxcNtJ7lSKYrOMIhKz3xxBPYunUrJk+eDABQlf0Kx6x/Q1H5W5v+ParSfDhmfQll9e9Qq9VYtGgRVq1aZXfX1rRG45TanSolfv0jcBobJ5L1OFJsPcsRzn//xf1ywsCxARqNBvPnz8fKlSuh0WigrC6DY/a/obxf2Cbvr76TDd31b6GoN8HV1RXbtm3Diy++aJfX1rRGYxNEU70CuRbX4FDbYOC0nmWw/G5xP0c4ZLXRo0djy5Yt6NatGxR1Jjhc/waqkrzWv6EgQFPwH+jyzkEBAb6+vtizZ495Co8a9OzZs8V99tTCR2rc8bP1LAPHsv88z+FQmxg0aJC5Z5lCqIPuZgpUJcYWzxO0zqjXuaBe5wJB+/APn6YgA9pfLgNoaNGyY8cOWW0FLRYXF5cWP8A8Tm2HI5zWswwcy0l2jnCozfTq1Qvbt2+Ht7c3FBCgy0mFqjS/6ZOUKlQNfhlVg18GlKoW76Ep/Anagv8AAEJDQ7Fhwwaer3mE5svBO9ry8PakVqv//kn0UA4ODubj1zjCUavVsg1xBo6NcnNzw+bNmxsuEhXqobuZAmVFs81mlaqHho3qXi60+ZcANGwetmbNGtl+QMVi2ZXXxcWFx6sNcUqt9RQKhXmU0zjC6dSpk2zPvzJwbJirqys2bdrU0Iq8vha6GycB04NHvkZZUQxd7hkADdNza9euhUbTcoMxasqyK2/zDr1kHY5wrNM8cOS6Qg2w88DJzs5GdHQ0goKCMHHiRPz4449Sl/TYPDw8sG7dOmi1WihryqEzpgGC8PAn15mgy0mFQqhDjx498K9//Yvf1P8hy2aIcm2MaKssr8mhx9d4vqa02W05stvAqa6uRmxsLCZNmoRLly5h2rRpmDt3LmpqbHNrgEfx8/PDvHnzAADq3/4P6uKchz5Pm58O5YP7UCqVWLNmjWz3zJCCZTNEuTZGtFUc4VincUQjNLstR3b7STh//jyUSiViYmIAANHR0fjoo4+QmpqK559//h+9x4MHj56+ElNUVBTS0tJw4cIFaPIvotb1SUD159y4orIE6jvZAICYmBj4+PjYVP22rnmzSR4764SFhSEtLQ3Ozs6y/JJnS5ov9nFycpLt59NuA8doNLZovujt7Y2bN2/+48DJyspqj9JaLTIyEpcvX0atqQqaX6/A5DnM/Jg2/xIUEODq6orBgwfbXO22rrT0z6scHjx4wONnpe7du2PGjBno0aMHj6WVTCZTi9tyPaZ2GziVlZUtmgY6ODg81jcDW7xA8vr160hOTobmTjZMPQcDKg0Ulfeg/mPZ9BtvvIGgoCCJq5SfkpIS8//36dPHJv/t5SYwMFDqEuzChQsXcO7cOfNtLy8vm/58PioM7TZwHjYt8uDBg8e6FsUWmw7GxMTg2LFjqK2thvpeLmo9/KC5cxVAw/U7UVFRnDNvBcvzNs7Ozjb5b08dU/NdP7t06SLbz6fdLhrw8fGB0dj0Cn2j0Yh+/fpJVFHbcHNzQ2hoKAA0LB6or4P63v8CAMaPH8+waSXL1XwddZsGsk3NFwlwlZoNCgkJQU1NDT7++GOYTCYkJyejuLjY/MtazqKiogAAyrLbUJUYoahrOCkbGRkpZVmyZnlxovBXy86JJNC87ZJc+6gBdhw4Wq0We/fuxfHjxxEcHIykpCTs2rXLLtq7DBs2DBqNBgoA2lsXAQD9+vVj/y8rWAaOXK/iJvvUfITDZdE2ys/PD4cPH5a6jDbn5OQEf39/ZGZmQmmqBAAuFLCSZTcGjnDIlnCEQ5Lz8/Nrctvf31+iSuyD5bkvjnDIljBwSHLe3t5Nbvv4+EhUiX3o3r27eRl9cHCwxNUQ/an5aYDml3vIiV1PqdkzT0/PJre5Q6V1HBwckJSUhPLy8hZhTiSlh3UakCsGjky5u7s3uS3Xdfm2xN3dvcVxJZJa8xGNnEc4nFKTKQ8PD/Tp0wcAEBERIXE1RNReml9bJ+dr7eRbeQenVquRkJCA27dvt5heIyKyRQwcGdNqtfDy8pK6DCKif4RTakREJAoGDhERiYKBQ0REomDgEBGRKBg4REQkCgYOERGJgoFDRESiYOAQEZEoGDhERDbuueeea/KnXLHTABGRjZs/fz6Cg4MxcuRIqUuxCgOHiMjGde3aFWPGjJG6DKtxSo2IiETBwCEiIlEwcIiISBQMHCIiEgUDh4iIRMHAISIiUTBwiIhIFLwO5xEuX74sdQlERHZDIQiCIHURRERk/zilRkREomDgEBGRKBg4REQkCgYOERGJgoFDRESiYOAQEZEoGDhERCQKBg4REYmCgSNzmZmZCA0NlboMWUtPT8fLL7+MYcOGITIyEocPH5a6JFk7ceIExowZgyFDhmDs2LE4deqU1CXZheLiYoSEhCA1NVXqUlqNrW1kShAEfPbZZ1i/fj1UKpXU5cjW/fv3MWfOHKxcuRLjxo3D1atXMXPmTHh5ecl+/3gpGI1GLF++HAcOHMDQoUNx7tw5zJo1C2fOnIGrq6vU5cnaihUrUFpaKnUZVuEIR6Z2796NgwcPIjY2VupSZK2wsBDh4eGYMGEClEolAgIC8PTTTyMjI0Pq0mTJ29sbZ8+exdChQ1FRUYGioiI4OztDq9VKXZqsHTp0CI6OjujZs6fUpViFgSNTkydPxhdffIHAwECpS5E1f39/vP/+++bb9+/fR3p6Ovz8/CSsSt6cnZ2Rn58Pg8GA+Ph4LFy4EC4uLlKXJVt5eXlISEjA6tWrpS7FapxSkykPDw+pS7A7ZWVliI2NRUBAAEaNGiV1ObLWs2dPZGZmIj09HXPmzMGTTz6JkJAQqcuSndraWixZsgQrVqxA165dpS7HahzhEAHIz8/H1KlT0aVLF2zfvh1KJX80rKFWq6HRaBASEoLRo0cjJSVF6pJkaefOnfD390d4eLjUpbQJ/lRRh5eVlYUpU6YgNDQUO3fuhIODg9Qlydbp06cxY8aMJveZTCZ06tRJmoJk7sSJEzh+/DgMBgMMBgMKCwuxaNEifPjhh1KX1iqcUqMOrbi4GK+99hpmzpyJWbNmSV2O7A0cOBA///wzjh07hgkTJiAtLQ2nT5/GkSNHpC5Nlr7++usmt0eNGoVVq1YhIiJCooqswxEOdWjJyckoKSnBrl27MGTIEPN/mzdvlro0WXJ3dzevoDQYDNiyZQt27NgBX19fqUsjG8AdP4mISBQc4RARkSgYOEREJAoGDhERiYKBQ0REomDgEBGRKBg4REQkCgYOERGJgoFDRESiYOAQEZEoGDhE7ejQoUOIjIzEoEGDMG7cOJw8eRIAUF5ejuXLl2P48OEYMWIE4uLicO/ePfPrfvrpJ0ybNg1BQUEYPHgwXnnlFVy7ds38+LZt2/DMM88gMDAQ0dHRSE9PNz92584dxMXFYcSIETAYDFi8eDF+++038+MDBgzAsWPH8NJLLyEoKAhTpkxBZmamCEeDOjoGDlE7yc7Oxttvv40lS5bgm2++wYQJE7Bw4ULcu3cPK1asQEFBARITE5GYmIiKigrMnj0bgiCgvLwcr7/+OoKCgvDll1/i008/RX19PdatWwcAOHXqFBISEvDee+/hq6++QlBQEObOnYva2lqYTCZMnz4dd+/exf79+7Fv3z7k5uYiLi6uSW0ffPABFixYgMOHD0OtVuPNN9+U4hBRRyMQUbv49ttvBX9/f+HKlSuCIAhCfX29kJaWJty4cUPQ6/XC7du3zc8tLy8XAgIChEuXLglFRUXC3r17hbq6OvPjhw4dEkJCQgRBEISEhAQhODhYuHXrliAIglBRUSGcPXtWqKmpEVJSUoSAgAChqKjI/NqcnBxBr9eb69Dr9cKePXvMj586dUrQ6/VCTU1N+x0MIkEQuD0BUTsJDQ3F8OHDMXnyZPTr1w8RERGIjo6G0WgEALzwwgtNnl9bWwuj0QiDwYDo6GgcPHgQ169fh9FoRFZWFpycnAAA48ePx9GjRxEVFWXenTQ6OhoajQY5OTno1asX3N3dze/r6+uLLl26IDc3F4MGDQIA9O3b1/x44/bPJpMJGo2mPQ8JdXAMHKJ24ujoiMTERFy+fBnfffcdUlJS8Mknn2D27NnQaDT4/PPPoVAomrzG1dUVRUVFmDRpEvR6PcLCwjBx4kTk5uZi69atAIDu3bvj6NGj+OGHH3D69GkkJycjKSkJR44cgU6na/GeAFBXVwfBojH8w4JFYON4amcMHKJ2kpGRge+//x7z5s2DwWBAXFwcxo4di2vXrsFkMqGqqgr+/v4AgNLSUsTHx2PhwoVIT0+HVqvF/v37zeFx5swZ8/umpqbi1q1bmD59OsLCwrB06VKMHDkS58+fh6+vLwoKCnD37l3zKOfmzZsoLy+Hj4+P+AeByAIDh6idODk5Yc+ePejWrRsiIiJw48YNFBQUYNGiRaiqqsKyZcvw1ltvoXPnzli/fj3y8vLQt29f5OTkoLi4GGfOnIGvry/S0tKQlJQElUoFAFAoFNi4cSPc3Nzw1FNP4eLFi6isrMTAgQPh7++P/v37Iy4uDvHx8TCZTFi9ejWGDBmCwMBAiY8IdXQMHKJ24ufnhw0bNmDHjh3YsGED3N3dsWDBAkRGRiI4OBjvvvsuZs+ejdraWgwbNgwHDhyATqfDmDFjkJGRgaVLl6Kurg56vR5r1qxBfHw88vLy8Oyzz2Lx4sXYvHkzbt++DU9PT6xfvx4BAQEAgJ07d+Kdd97Bq6++Co1Gg8jISCxbtuyhU21EYuKOn0REJApeh0NERKJg4BARkSgYOEREJAoGDhERiYKBQ0REomDgEBGRKBg4REQkCgYOERGJ4v8B0pFz04zkG1IAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdd9d710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.violinplot(data=train[['season','cnt']],x='season',y='cnt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid character in identifier (<ipython-input-83-74cb75579da4>, line 3)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  File \u001b[1;32m\"<ipython-input-83-74cb75579da4>\"\u001b[1;36m, line \u001b[1;32m3\u001b[0m\n\u001b[1;33m    fig,ax.set（title=\"Seasonly ditribution of counts\"\u001b[0m\n\u001b[1;37m                   ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid character in identifier\n"
     ]
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['season','cnt']],x=\"season\",y=\"cnt\" )\n",
    "fig,ax.set（title=\"Seasonly ditribution of counts\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5,1,'Monthly ditribution of counts')]"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAEfCAYAAABmsjC7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XtcVHX+x/HXcB1GSAq1VSNBUFQSRLxrQVoWJVqG1ZpZai1ulkmbZbqmoVmtkhfctDbXMrESKyVva16yC6WRJUVaqZgW+SMkKHNGQOb3h+usyEXQMwPq+/l4+Hg43++c8/mew4H3nMucY7Lb7XZERETOkVt9D0BERC4MChQRETGEAkVERAyhQBEREUMoUERExBAKFBERMYQCRarUt29fwsLCmDNnTpX9K1euJCwsjNtvv93QuqWlpSxZsoTS0lIAtm3bRlhYGHv37q12mgkTJhg+jr59+zJr1iwA3n77bcLCwjh27BgAv/76K2+++WaN058+7rvvvpukpKRzGpPdbmfVqlX83//9HwA//vgjYWFhfPDBB+c0XyNs2rSJa6+9lo4dO7J48eL6Hk61Tt++xFgKFKmWp6cn69atq7Jv9erVmEwmw2uuXr2ap59+mvLycsPnfbZuuukmPvroI7y9vQH4xz/+wVtvvVXjNFFRUXz00UcEBQUZNo7PPvuMxx57jCNHjgDQvHlzPvroI3r06GFYjbM1a9YsWrduzbp160hISKjv4VSrIW5fFxIFilSrd+/e7N+/n2+++aZCe2FhIZ9++ildu3Y1vGZD/J6t2WymadOmjte1GaOXlxdNmzbF3d3dsHGcXtfd3Z2mTZvi5eVlWI2z9fvvvxMZGckVV1yBn59ffQ+nWg1x+7qQKFCkWm3atKFt27asXbu2Qvu6devo2LEjLVu2rNBeVFTE9OnTHYc+br31Vt577z1H/9tvv80111zD6tWrueGGG4iMjGTw4MFs2bLF0f/EE08AEBERwdtvv+2Y9pNPPuGWW27hqquu4vrrr6/Qd6oHH3yw0ifkI0eOEBkZWe3eVn5+PmPHjiU6OppevXqxZMmSCv2nHvKaMGEC77zzDjt37iQsLIwff/yR1NRU7rjjDh5//HE6d+7Mww8/XOWhOqvVyhNPPEFUVBQ9evRg1qxZjkMv1R2+CgsL4/XXX2fbtm0MHz4cOLHHlJqaWuU0K1eu5JZbbiEyMpKrr76aZ599FpvNVmF+b775Jvfddx+RkZFce+21PPPMM5SVlVW5bgBsNhvz5s3j+uuvp2PHjsTFxTkO+Z0cwy+//MI///lPwsLCqp3Pp59+ytChQ+nUqRO9e/dm6tSpWK3WOo399ddfrzDP0w9Nns329corr9C/f3+uuuoqYmJieO655ygpKal2OaR6ChSp0c0331wpUFavXs2AAQMqtB0/fpyRI0fy4YcfMn36dFatWkVsbCwPPfQQ69evd7zv8OHDLF68mBkzZvDmm2/i7+/P+PHjOXLkCDfddBMTJ04EYPPmzdx0002O6V555RXGjx/PmjVr6NKlC5MmTeKHH36oNN4hQ4bw1VdfVfhDvmbNGsxmM/369av0/rKyMkaNGsWPP/7Iv//9b/71r3/x3nvv8dNPP1W5PiZNmkRcXBzh4eF89NFHNG/eHIAvv/wSLy8vVq1axdixY6ucdsuWLXh6erJixQqmT5/OW2+9xTPPPFPle08XFRVFamoqAGlpaYwcObLSe1555RUmTZrEoEGDWLVqFVOmTGHNmjWMGzeuwvuee+454uLiWLVqFcOGDeOVV15h9erV1dZ+5JFHWL58OePHj+fdd9/lzjvvZNq0afz73/92HHa77LLLGDlyJB999FGV8/jqq68YNWoU7dq1Y8WKFcyZM4cPP/yQyZMn12nsZ1LX7Wvr1q3MmjWLRx99lA0bNpCcnMzy5csb9HmghkyBIjW6+eab+emnn9i5cycAeXl5fPXVV8TFxVV430cffUROTg4zZ86kd+/etG7dmocffph+/frxwgsvON5XVlbGk08+SXR0NO3atePhhx/m999/5/vvv8dsNjsOlzRp0gSz2eyY7vHHH6d37960atWKcePGUV5eTk5OTqXxXn311TRv3pyVK1c62t5++20GDRpU5aGhTz75hO+++45nn32WyMhIwsPDSUlJwdPTs8r14efnh9lsxsPDo9IhrXHjxhEYGEhISEiV07Zp04apU6cSEhLCddddx7hx41i+fLnjnEhNvLy8aNy4MQCXXnopjRo1qtBvt9v517/+xZAhQxgxYgRBQUFcd911TJkyhS1btlQ4bBkfH89tt91GUFAQo0aNonXr1uzYsaPKunv37mXTpk1MnDiR/v37ExQUxD333MPQoUNZuHAhAE2bNsXNzQ2LxVLh0OCpXnnlFdq0acOTTz5JaGgoXbt25emnnyYoKKhOYz+Tum5fubm5mEwmmjdvTosWLYiJieHf//43/fv3r3VN+R8FitQoMDCQyMhIx17K6tWr6d27N5dddlmF93377bd4e3vTsWPHCu1du3bl+++/r3AStHXr1o7/+/r6ApzxqptTT277+/sDOK66OpWbmxuDBw8mIyOD8vJy9u7dy5dfflntieLvvvsOs9lM27ZtHW3NmjUjMDCwxvGcztfXl4CAgBrfExUVhZvb/37lIiMjKS0trfEKtto6fPgwBQUFlc5rdevWDYDdu3c72k5d/3AiJKtb/99++y1AlfMtLi7m559/rtX4vv32WyIjIyu09ejRgwcffLBOY6+NumxfAwcOJCQkhISEBPr168eTTz7Jb7/9RnBwcJ1qygkKFDmjm2++mfXr12O321mzZg3x8fG1ntZut+Pu7l7hD2lVewpnOll66vRnmiYhIYH8/Hy2bdvGO++8Q0RERIXAqG6cp6puD6U6p+5NVef0ZTgZsmVlZVVeMWfEpa0na5y6zs9m/ddmvjWp6/qsbY2q1lFdlu+yyy7jnXfe4c0332Tw4MHs3buX+++/n6eeeqrO4xUFitRCXFwc+fn5rFixggMHDlR5LuLkSeuvvvqqQvv27dtp06ZNrWsZcSlyixYt6NWrF+vWrWPDhg01XsbaoUMHbDYbX3/9taOtqKiIAwcOGD7G0w/RffbZZ3h6etKmTRvHH9xTD3+dPoaa6jZp0oQmTZrw2WefVaoBEBoaelZjPnmS/fT5bt++nUsvvfSMe2UnhYSEVNo2NmzYQExMDBaLpVZj9/T0rLB+jhw5QmFhYZ2W5/R1+N5777FgwQI6derEmDFjSEtLY/To0dVe9CE186jvAUjD16xZM7p168azzz7Lddddh4+PT6X39OnTh/DwcB577DEmT55M8+bNeffdd9m8eTOzZ8+uda2T5wa++uor2rdvf9Zjvv3223nssccwmUzcfPPN1b6ve/fuREVFMWHCBKZOnYqfnx+zZs2q8SqfRo0a8csvv3Dw4EHHSfnayMnJYfr06fz5z3/m22+/Zf78+QwdOpRLLrkEPz8/AgMDefXVVwkNDeXYsWM888wzFT5tn1w3u3fvplmzZpXmf//99zNz5kyCgoKIjY1lz549JCcnc/XVV9OuXbtaj/NUISEh9OvXjxkzZuDp6Unbtm15//33eeONNxg7dmytL4u+7777GDx4MM8++yy33347+fn5PPfcc/To0QOLxVKrsUdFRZGenk737t0xm83MmTMHD4+6/Qk7fftyc3MjNTUVX19frr32Wn799Vc++OADoqKi6raiBFCgSC0NGDCATz/9tNLVXSe5u7uzaNEiZs6cyd/+9jeOHj1K27ZtSU1NrdMJzp49e9KlSxfuvfdekpKSuOqqq85qvH379sXHx4fY2FjHcfSquLm58eKLLzJjxgweeOABTCYTd955J7/99lu10yQkJDiuEnrttddqPaZbb72Vw4cPM3jwYPz8/Bg2bBgPPvggcOKT88yZM3n66acZPHgwLVq04MEHH6zwCbxt27Zcf/31PP7449x5553ce++9FeZ/7733YjabefXVV5k1axYBAQHEx8fz0EMP1XqMVXn++eeZM2cOTz31FEVFRQQFBTF58mTuuOOOWs+jXbt2LFy4kHnz5pGWloa/vz833XST4+4BtRn71KlTeeqpp7jrrru49NJLGTFiRJXn0Wpy+vY1atQonnrqKV599VVSUlIwm83ExMQwYcKEOs1XTjDpiY1yISosLOSaa67hlVdeoUuXLvU9HJGLgvZQ5IJy6NAhdu7cydtvv027du0UJiIupECRC0pRURETJkygZcuWzJ07t76HI3JR0SEvERExhC4bFhERQ1zUh7w+//zz+h6CiMh5KTo6ulLbRR0oUPVKERGR6lX3YVyHvERExBAKFBERMYQCRUREDKFAERERQyhQRETEEAoUERExhAJFREQMoUARkQYvMzOTIUOGMGTIEDIzM+t7OFINBYqINGh2u53U1FQKCwspLCwkNTW1zo8sFtdQoIhIg2az2cjPz3e8zs/Px2az1eOIpDoKFBERMYQCRcQJdMxfLkYuDZRDhw6RmJhI586dueaaa1iyZAkAxcXFjBkzhujoaGJjY0lPT3dMU1JSwsSJE+nWrRu9evViwYIFjj673U5KSgo9evSga9euTJ8+nePHj7tykUQquRiO+SswpSouCxS73c4DDzxA69at2bZtG4sWLWL+/Pns2LGDyZMnY7FYyMzMZN68ecyaNYvdu3cDMHv2bPLy8ti0aRPLli0jPT2dzZs3A5CWlsb7779PRkYGa9euZceOHSxbtsxViyRSpQv9mP/FEJhy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6ZIbo/bq1Ytdu3bx1ltvYbfb2b59O++9916tn5JaV0VFRdx5553k5ORQUlJCWloaeXl5Tj/86+vrS79+/UhJScFqtZKdne3YO7oQ2O12HnroIZo0acKiRYsMOfx8Xj9g60K2YsUKCgsLWbBgAQsWLHC0Dx8+nKSkJMPrNW3a1HEsPDk5maCgIP75z39WesTy+Sg4OJg5c+Ywe/ZsJkyYwOWXX84zzzxDeHi4U+qZzWZee+01kpOT6dWrF76+vvz973936h/748ePc+jQoQonWJ0lLCyMefPmMXfuXJ5++mlatGjBc88957SLVa644gqmTp3KQw89RFFREeHh4SxevNglh56mTZvGlClTiImJwWKxMH78eCIjI51e1xW++OILtm/fjre3N926dXO0d+jQgbS0tLOap+42LCIihtAhLxERMYQCRUREDKFAERERQyhQRETEEAoUERExhAJFREQMoUAROU/s3r2bTz/9FIAff/yRsLAwvvvuu3oelcj/KFBEzhMPPPAAe/bsqe9hiFRLgSIiIoZQoIg4SVhYGOvWrWPgwIFEREQwcuRIfv75Z8aPH0+nTp3o378/mZmZFd6/cuVKbr31Vjp16sTtt99OdnY2AHfffTc//fQT06ZNY8KECY5pPvzwQ+Li4oiIiGDYsGEcPHjQ5cspcpJuvSLiJGFhYVxxxRU8++yzeHt7c//991NeXs5f//pXYmJiSElJYc+ePWzYsMHx/ubNm/PUU09x+eWXk5yczNGjR1m5ciVFRUUMGjSIoUOHMnToUIqLi+nXrx/BwcE8/fTTNGrUiEcffZTAwMAK934TcSXtoYg40bBhw+jatSsRERH06NGDK664gpEjRxISEsIdd9zBgQMHKtwKfujQocTExNCuXTtGjRrFrl27KC0txd/fH3d3dxo1alThkQKPPPII0dHRtGvXjoSEBHbt2lUfiykCKFBEnOrU50v4+PjQsmVLx2uz2Yzdbqe0tNTRFhQU5Pj/yccvn9p/uiuvvNLx/0suucSQpwmKnC0FiogTubu7V3h9pufaeHp6Vmqr6aj06fPTEWypTwoUERExhAJF5DzRqFEjcnNz+fXXX+t7KCJVUqCInCfuuusu3n77bSZOnFjfQxGpki4bFhERQ2gPRUREDKFAERERQyhQRETEEAoUERExhAJFREQMoUARERFDKFBERMQQChQRETHE/wPVRLjSwygr/wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe5cb710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['mnth','cnt']],x=\"mnth\",y=\"cnt\")\n",
    "ax.set(title=\"Monthly ditribution of counts\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "corrMatt=train [['temp','atemp','hum','windspeed','casual','registered','cnt']].corr()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0xe64e240>"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe348160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mask=np.array(corrMatt)\n",
    "mask[np.tril_indices_from(mask)]=False\n",
    "sn.heatmap(corrMatt,mask=mask,vmax=.8,square=True,annot=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weathersit_1</th>\n",
       "      <th>weathersit_2</th>\n",
       "      <th>weathersit_3</th>\n",
       "      <th>weekday_0</th>\n",
       "      <th>weekday_1</th>\n",
       "      <th>weekday_2</th>\n",
       "      <th>weekday_3</th>\n",
       "      <th>weekday_4</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
       "0         1         0         0         0       1       0       0       0   \n",
       "1         1         0         0         0       1       0       0       0   \n",
       "2         1         0         0         0       1       0       0       0   \n",
       "3         1         0         0         0       1       0       0       0   \n",
       "4         1         0         0         0       1       0       0       0   \n",
       "\n",
       "   mnth_5  mnth_6    ...      weathersit_1  weathersit_2  weathersit_3  \\\n",
       "0       0       0    ...                 0             1             0   \n",
       "1       0       0    ...                 0             1             0   \n",
       "2       0       0    ...                 1             0             0   \n",
       "3       0       0    ...                 1             0             0   \n",
       "4       0       0    ...                 1             0             0   \n",
       "\n",
       "   weekday_0  weekday_1  weekday_2  weekday_3  weekday_4  weekday_5  weekday_6  \n",
       "0          0          0          0          0          0          0          1  \n",
       "1          1          0          0          0          0          0          0  \n",
       "2          0          1          0          0          0          0          0  \n",
       "3          0          0          1          0          0          0          0  \n",
       "4          0          0          0          1          0          0          0  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "categorical_features=['season','mnth','weathersit','weekday']\n",
    "for col in categorical_features:\n",
    "    train[col]=train[col].astype('object')\n",
    "\n",
    "x_train_cat=train[categorical_features]\n",
    "x_train_cat=pd.get_dummies(x_train_cat)\n",
    "x_train_cat.head()\n",
    "                                "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       temp     atemp       hum  windspeed\n",
       "0  0.355170  0.373517  0.828620   0.284606\n",
       "1  0.379232  0.360541  0.715771   0.466215\n",
       "2  0.171000  0.144830  0.449638   0.465740\n",
       "3  0.175530  0.174649  0.607131   0.284297\n",
       "4  0.209120  0.197158  0.449313   0.339143"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "mn_x=MinMaxScaler()\n",
    "numerical_features=['temp','atemp','hum','windspeed']\n",
    "temp=mn_x.fit_transform(train[numerical_features])\n",
    " \n",
    "X_train_num=pd.DataFrame(data=temp,columns=numerical_features,index=train.index)\n",
    "X_train_num.head()\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_3</th>\n",
       "      <th>weekday_4</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 32 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
       "0         1         0         0         0       1       0       0       0   \n",
       "1         1         0         0         0       1       0       0       0   \n",
       "2         1         0         0         0       1       0       0       0   \n",
       "3         1         0         0         0       1       0       0       0   \n",
       "4         1         0         0         0       1       0       0       0   \n",
       "\n",
       "   mnth_5  mnth_6     ...      weekday_3  weekday_4  weekday_5  weekday_6  \\\n",
       "0       0       0     ...              0          0          0          1   \n",
       "1       0       0     ...              0          0          0          0   \n",
       "2       0       0     ...              0          0          0          0   \n",
       "3       0       0     ...              0          0          0          0   \n",
       "4       0       0     ...              1          0          0          0   \n",
       "\n",
       "       temp     atemp       hum  windspeed  holiday  workingday  \n",
       "0  0.355170  0.373517  0.828620   0.284606        0           0  \n",
       "1  0.379232  0.360541  0.715771   0.466215        0           0  \n",
       "2  0.171000  0.144830  0.449638   0.465740        0           1  \n",
       "3  0.175530  0.174649  0.607131   0.284297        0           1  \n",
       "4  0.209120  0.197158  0.449313   0.339143        0           1  \n",
       "\n",
       "[5 rows x 32 columns]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train=pd.concat([x_train_cat,X_train_num,train['holiday'],train['workingday']],axis=1,ignore_index=False)\n",
    "X_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...   weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...           0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...           0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...           0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...           0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...           0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "FE_train=pd.concat([train['instant'],X_train,train['yr'],train['cnt']],axis=1)\n",
    "FE_train.to_csv('C:/Users/Administrator/Desktop/python_单车/FE_day.csv',index=False)\n",
    "FE_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 35 columns):\n",
      "instant         731 non-null int64\n",
      "season_1        731 non-null uint8\n",
      "season_2        731 non-null uint8\n",
      "season_3        731 non-null uint8\n",
      "season_4        731 non-null uint8\n",
      "mnth_1          731 non-null uint8\n",
      "mnth_2          731 non-null uint8\n",
      "mnth_3          731 non-null uint8\n",
      "mnth_4          731 non-null uint8\n",
      "mnth_5          731 non-null uint8\n",
      "mnth_6          731 non-null uint8\n",
      "mnth_7          731 non-null uint8\n",
      "mnth_8          731 non-null uint8\n",
      "mnth_9          731 non-null uint8\n",
      "mnth_10         731 non-null uint8\n",
      "mnth_11         731 non-null uint8\n",
      "mnth_12         731 non-null uint8\n",
      "weathersit_1    731 non-null uint8\n",
      "weathersit_2    731 non-null uint8\n",
      "weathersit_3    731 non-null uint8\n",
      "weekday_0       731 non-null uint8\n",
      "weekday_1       731 non-null uint8\n",
      "weekday_2       731 non-null uint8\n",
      "weekday_3       731 non-null uint8\n",
      "weekday_4       731 non-null uint8\n",
      "weekday_5       731 non-null uint8\n",
      "weekday_6       731 non-null uint8\n",
      "temp            731 non-null float64\n",
      "atemp           731 non-null float64\n",
      "hum             731 non-null float64\n",
      "windspeed       731 non-null float64\n",
      "holiday         731 non-null int64\n",
      "workingday      731 non-null int64\n",
      "yr              731 non-null int64\n",
      "cnt             731 non-null int64\n",
      "dtypes: float64(4), int64(5), uint8(26)\n",
      "memory usage: 70.0 KB\n"
     ]
    }
   ],
   "source": [
    "FE_train.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###一、线性回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "##1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np #linear algebra"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "df=open('C:/Users/Administrator/Desktop/python_单车/FE_day.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "df=pd.read_csv(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...   weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...           0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...           0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...           0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...           0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...           0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 35 columns):\n",
      "instant         731 non-null int64\n",
      "season_1        731 non-null int64\n",
      "season_2        731 non-null int64\n",
      "season_3        731 non-null int64\n",
      "season_4        731 non-null int64\n",
      "mnth_1          731 non-null int64\n",
      "mnth_2          731 non-null int64\n",
      "mnth_3          731 non-null int64\n",
      "mnth_4          731 non-null int64\n",
      "mnth_5          731 non-null int64\n",
      "mnth_6          731 non-null int64\n",
      "mnth_7          731 non-null int64\n",
      "mnth_8          731 non-null int64\n",
      "mnth_9          731 non-null int64\n",
      "mnth_10         731 non-null int64\n",
      "mnth_11         731 non-null int64\n",
      "mnth_12         731 non-null int64\n",
      "weathersit_1    731 non-null int64\n",
      "weathersit_2    731 non-null int64\n",
      "weathersit_3    731 non-null int64\n",
      "weekday_0       731 non-null int64\n",
      "weekday_1       731 non-null int64\n",
      "weekday_2       731 non-null int64\n",
      "weekday_3       731 non-null int64\n",
      "weekday_4       731 non-null int64\n",
      "weekday_5       731 non-null int64\n",
      "weekday_6       731 non-null int64\n",
      "temp            731 non-null float64\n",
      "atemp           731 non-null float64\n",
      "hum             731 non-null float64\n",
      "windspeed       731 non-null float64\n",
      "holiday         731 non-null int64\n",
      "workingday      731 non-null int64\n",
      "yr              731 non-null int64\n",
      "cnt             731 non-null int64\n",
      "dtypes: float64(4), int64(31)\n",
      "memory usage: 200.0 KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(731, 35)\n"
     ]
    }
   ],
   "source": [
    "print(df.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['instant', 'season_1', 'season_2', 'season_3', 'season_4', 'mnth_1',\n",
      "       'mnth_2', 'mnth_3', 'mnth_4', 'mnth_5', 'mnth_6', 'mnth_7', 'mnth_8',\n",
      "       'mnth_9', 'mnth_10', 'mnth_11', 'mnth_12', 'weathersit_1',\n",
      "       'weathersit_2', 'weathersit_3', 'weekday_0', 'weekday_1', 'weekday_2',\n",
      "       'weekday_3', 'weekday_4', 'weekday_5', 'weekday_6', 'temp', 'atemp',\n",
      "       'hum', 'windspeed', 'holiday', 'workingday', 'yr', 'cnt'],\n",
      "      dtype='object')\n"
     ]
    }
   ],
   "source": [
    "print(df.columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>366.000000</td>\n",
       "      <td>0.247606</td>\n",
       "      <td>0.251710</td>\n",
       "      <td>0.257182</td>\n",
       "      <td>0.243502</td>\n",
       "      <td>0.084815</td>\n",
       "      <td>0.077975</td>\n",
       "      <td>0.084815</td>\n",
       "      <td>0.082079</td>\n",
       "      <td>0.084815</td>\n",
       "      <td>...</td>\n",
       "      <td>0.142271</td>\n",
       "      <td>0.143639</td>\n",
       "      <td>0.543594</td>\n",
       "      <td>0.518864</td>\n",
       "      <td>0.645649</td>\n",
       "      <td>0.346536</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>211.165812</td>\n",
       "      <td>0.431917</td>\n",
       "      <td>0.434293</td>\n",
       "      <td>0.437380</td>\n",
       "      <td>0.429489</td>\n",
       "      <td>0.278797</td>\n",
       "      <td>0.268316</td>\n",
       "      <td>0.278797</td>\n",
       "      <td>0.274674</td>\n",
       "      <td>0.278797</td>\n",
       "      <td>...</td>\n",
       "      <td>0.349567</td>\n",
       "      <td>0.350963</td>\n",
       "      <td>0.228091</td>\n",
       "      <td>0.213909</td>\n",
       "      <td>0.146457</td>\n",
       "      <td>0.159766</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>183.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.346343</td>\n",
       "      <td>0.339674</td>\n",
       "      <td>0.534704</td>\n",
       "      <td>0.232045</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>366.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.547268</td>\n",
       "      <td>0.535113</td>\n",
       "      <td>0.644388</td>\n",
       "      <td>0.326928</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>548.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.743002</td>\n",
       "      <td>0.695083</td>\n",
       "      <td>0.750857</td>\n",
       "      <td>0.434622</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          instant    season_1    season_2    season_3    season_4      mnth_1  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean   366.000000    0.247606    0.251710    0.257182    0.243502    0.084815   \n",
       "std    211.165812    0.431917    0.434293    0.437380    0.429489    0.278797   \n",
       "min      1.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "25%    183.500000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "50%    366.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "75%    548.500000    0.000000    1.000000    1.000000    0.000000    0.000000   \n",
       "max    731.000000    1.000000    1.000000    1.000000    1.000000    1.000000   \n",
       "\n",
       "           mnth_2      mnth_3      mnth_4      mnth_5     ...       \\\n",
       "count  731.000000  731.000000  731.000000  731.000000     ...        \n",
       "mean     0.077975    0.084815    0.082079    0.084815     ...        \n",
       "std      0.268316    0.278797    0.274674    0.278797     ...        \n",
       "min      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "25%      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "50%      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "75%      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "max      1.000000    1.000000    1.000000    1.000000     ...        \n",
       "\n",
       "        weekday_5   weekday_6        temp       atemp         hum   windspeed  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     0.142271    0.143639    0.543594    0.518864    0.645649    0.346536   \n",
       "std      0.349567    0.350963    0.228091    0.213909    0.146457    0.159766   \n",
       "min      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "25%      0.000000    0.000000    0.346343    0.339674    0.534704    0.232045   \n",
       "50%      0.000000    0.000000    0.547268    0.535113    0.644388    0.326928   \n",
       "75%      0.000000    0.000000    0.743002    0.695083    0.750857    0.434622   \n",
       "max      1.000000    1.000000    1.000000    1.000000    1.000000    1.000000   \n",
       "\n",
       "          holiday  workingday          yr          cnt  \n",
       "count  731.000000  731.000000  731.000000   731.000000  \n",
       "mean     0.028728    0.683995    0.500684  4504.348837  \n",
       "std      0.167155    0.465233    0.500342  1937.211452  \n",
       "min      0.000000    0.000000    0.000000    22.000000  \n",
       "25%      0.000000    0.000000    0.000000  3152.000000  \n",
       "50%      0.000000    1.000000    1.000000  4548.000000  \n",
       "75%      0.000000    1.000000    1.000000  5956.000000  \n",
       "max      1.000000    1.000000    1.000000  8714.000000  \n",
       "\n",
       "[8 rows x 35 columns]"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "df=df.drop(['instant'],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 34 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
       "0         1         0         0         0       1       0       0       0   \n",
       "1         1         0         0         0       1       0       0       0   \n",
       "2         1         0         0         0       1       0       0       0   \n",
       "3         1         0         0         0       1       0       0       0   \n",
       "4         1         0         0         0       1       0       0       0   \n",
       "\n",
       "   mnth_5  mnth_6  ...   weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...           0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...           0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...           0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...           0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...           0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 34 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.247606</td>\n",
       "      <td>0.251710</td>\n",
       "      <td>0.257182</td>\n",
       "      <td>0.243502</td>\n",
       "      <td>0.084815</td>\n",
       "      <td>0.077975</td>\n",
       "      <td>0.084815</td>\n",
       "      <td>0.082079</td>\n",
       "      <td>0.084815</td>\n",
       "      <td>0.082079</td>\n",
       "      <td>...</td>\n",
       "      <td>0.142271</td>\n",
       "      <td>0.143639</td>\n",
       "      <td>0.543594</td>\n",
       "      <td>0.518864</td>\n",
       "      <td>0.645649</td>\n",
       "      <td>0.346536</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.431917</td>\n",
       "      <td>0.434293</td>\n",
       "      <td>0.437380</td>\n",
       "      <td>0.429489</td>\n",
       "      <td>0.278797</td>\n",
       "      <td>0.268316</td>\n",
       "      <td>0.278797</td>\n",
       "      <td>0.274674</td>\n",
       "      <td>0.278797</td>\n",
       "      <td>0.274674</td>\n",
       "      <td>...</td>\n",
       "      <td>0.349567</td>\n",
       "      <td>0.350963</td>\n",
       "      <td>0.228091</td>\n",
       "      <td>0.213909</td>\n",
       "      <td>0.146457</td>\n",
       "      <td>0.159766</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.346343</td>\n",
       "      <td>0.339674</td>\n",
       "      <td>0.534704</td>\n",
       "      <td>0.232045</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.547268</td>\n",
       "      <td>0.535113</td>\n",
       "      <td>0.644388</td>\n",
       "      <td>0.326928</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.743002</td>\n",
       "      <td>0.695083</td>\n",
       "      <td>0.750857</td>\n",
       "      <td>0.434622</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 34 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         season_1    season_2    season_3    season_4      mnth_1      mnth_2  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     0.247606    0.251710    0.257182    0.243502    0.084815    0.077975   \n",
       "std      0.431917    0.434293    0.437380    0.429489    0.278797    0.268316   \n",
       "min      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "25%      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "50%      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "75%      0.000000    1.000000    1.000000    0.000000    0.000000    0.000000   \n",
       "max      1.000000    1.000000    1.000000    1.000000    1.000000    1.000000   \n",
       "\n",
       "           mnth_3      mnth_4      mnth_5      mnth_6     ...       \\\n",
       "count  731.000000  731.000000  731.000000  731.000000     ...        \n",
       "mean     0.084815    0.082079    0.084815    0.082079     ...        \n",
       "std      0.278797    0.274674    0.278797    0.274674     ...        \n",
       "min      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "25%      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "50%      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "75%      0.000000    0.000000    0.000000    0.000000     ...        \n",
       "max      1.000000    1.000000    1.000000    1.000000     ...        \n",
       "\n",
       "        weekday_5   weekday_6        temp       atemp         hum   windspeed  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     0.142271    0.143639    0.543594    0.518864    0.645649    0.346536   \n",
       "std      0.349567    0.350963    0.228091    0.213909    0.146457    0.159766   \n",
       "min      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "25%      0.000000    0.000000    0.346343    0.339674    0.534704    0.232045   \n",
       "50%      0.000000    0.000000    0.547268    0.535113    0.644388    0.326928   \n",
       "75%      0.000000    0.000000    0.743002    0.695083    0.750857    0.434622   \n",
       "max      1.000000    1.000000    1.000000    1.000000    1.000000    1.000000   \n",
       "\n",
       "          holiday  workingday          yr          cnt  \n",
       "count  731.000000  731.000000  731.000000   731.000000  \n",
       "mean     0.028728    0.683995    0.500684  4504.348837  \n",
       "std      0.167155    0.465233    0.500342  1937.211452  \n",
       "min      0.000000    0.000000    0.000000    22.000000  \n",
       "25%      0.000000    0.000000    0.000000  3152.000000  \n",
       "50%      0.000000    1.000000    1.000000  4548.000000  \n",
       "75%      0.000000    1.000000    1.000000  5956.000000  \n",
       "max      1.000000    1.000000    1.000000  8714.000000  \n",
       "\n",
       "[8 rows x 34 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0xb3b3e48>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb3c0668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['cnt'].hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##2.数据分离"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "y=df['cnt']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "x=df.drop('cnt',axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=0,test_size=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(731, 34)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(584,)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(df.shape)\n",
    "x_train.shape\n",
    "y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "##标准化处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "ss_x=StandardScaler()   ##标准化\n",
    "ss_y=StandardScaler()   ##标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train=ss_x.fit_transform(x_train)\n",
    "x_test=ss_x.transform(x_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [],
   "source": [
    "##y_train=ss_y.fit_transform(y_train.reshape(-1,1))\n",
    "##y_test=ss_x.transform(y_test。reshape(-1,1))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_4</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.180948</td>\n",
       "      <td>0.202329</td>\n",
       "      <td>0.532916</td>\n",
       "      <td>0.138482</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171197</td>\n",
       "      <td>0.170340</td>\n",
       "      <td>0.512798</td>\n",
       "      <td>0.301676</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.131919</td>\n",
       "      <td>0.109191</td>\n",
       "      <td>0.550985</td>\n",
       "      <td>0.503869</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.098690</td>\n",
       "      <td>0.048706</td>\n",
       "      <td>0.446444</td>\n",
       "      <td>0.700017</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.114266</td>\n",
       "      <td>0.094271</td>\n",
       "      <td>0.496573</td>\n",
       "      <td>0.414115</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.137016</td>\n",
       "      <td>0.147533</td>\n",
       "      <td>0.705773</td>\n",
       "      <td>0.205620</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.141547</td>\n",
       "      <td>0.106853</td>\n",
       "      <td>0.616499</td>\n",
       "      <td>0.581843</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.131919</td>\n",
       "      <td>0.094265</td>\n",
       "      <td>0.483719</td>\n",
       "      <td>0.574366</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.126773</td>\n",
       "      <td>0.143528</td>\n",
       "      <td>0.553034</td>\n",
       "      <td>0.214724</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.217065</td>\n",
       "      <td>0.221891</td>\n",
       "      <td>0.512853</td>\n",
       "      <td>0.279487</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.214989</td>\n",
       "      <td>0.203652</td>\n",
       "      <td>0.497429</td>\n",
       "      <td>0.342303</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.145417</td>\n",
       "      <td>0.128246</td>\n",
       "      <td>0.552699</td>\n",
       "      <td>0.353815</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.196298</td>\n",
       "      <td>0.201179</td>\n",
       "      <td>0.886033</td>\n",
       "      <td>0.256423</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.290384</td>\n",
       "      <td>0.287930</td>\n",
       "      <td>0.762714</td>\n",
       "      <td>0.383295</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.252371</td>\n",
       "      <td>0.230998</td>\n",
       "      <td>0.553556</td>\n",
       "      <td>0.357705</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.147494</td>\n",
       "      <td>0.103388</td>\n",
       "      <td>0.470008</td>\n",
       "      <td>0.682065</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.411311</td>\n",
       "      <td>0.308364</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.046591</td>\n",
       "      <td>0.025950</td>\n",
       "      <td>0.448866</td>\n",
       "      <td>0.462217</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.047675</td>\n",
       "      <td>0.051010</td>\n",
       "      <td>0.505644</td>\n",
       "      <td>0.280244</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.204785</td>\n",
       "      <td>0.204058</td>\n",
       "      <td>0.634403</td>\n",
       "      <td>0.221420</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.197336</td>\n",
       "      <td>0.163463</td>\n",
       "      <td>0.886889</td>\n",
       "      <td>0.559626</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.169300</td>\n",
       "      <td>0.184596</td>\n",
       "      <td>0.706941</td>\n",
       "      <td>0.188519</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.179864</td>\n",
       "      <td>0.189344</td>\n",
       "      <td>0.815468</td>\n",
       "      <td>0.208028</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.171197</td>\n",
       "      <td>0.174654</td>\n",
       "      <td>0.670169</td>\n",
       "      <td>0.253516</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.196118</td>\n",
       "      <td>0.224792</td>\n",
       "      <td>0.742595</td>\n",
       "      <td>0.106357</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>701</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.359323</td>\n",
       "      <td>0.367719</td>\n",
       "      <td>0.846615</td>\n",
       "      <td>0.210252</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>702</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.490158</td>\n",
       "      <td>0.494504</td>\n",
       "      <td>0.789203</td>\n",
       "      <td>0.124372</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>703</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.519232</td>\n",
       "      <td>0.511907</td>\n",
       "      <td>0.754499</td>\n",
       "      <td>0.312814</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>704</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.472505</td>\n",
       "      <td>0.458034</td>\n",
       "      <td>0.498715</td>\n",
       "      <td>0.621825</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>705</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.245101</td>\n",
       "      <td>0.235138</td>\n",
       "      <td>0.523136</td>\n",
       "      <td>0.314103</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>706</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.326094</td>\n",
       "      <td>0.318824</td>\n",
       "      <td>0.785776</td>\n",
       "      <td>0.223077</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>707</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.401896</td>\n",
       "      <td>0.407492</td>\n",
       "      <td>0.937018</td>\n",
       "      <td>0.162836</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>708</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.405012</td>\n",
       "      <td>0.408330</td>\n",
       "      <td>0.931020</td>\n",
       "      <td>0.279512</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>709</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.469390</td>\n",
       "      <td>0.467961</td>\n",
       "      <td>0.951157</td>\n",
       "      <td>0.346168</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>710</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.366591</td>\n",
       "      <td>0.340358</td>\n",
       "      <td>0.613539</td>\n",
       "      <td>0.564134</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>711</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.297020</td>\n",
       "      <td>0.286507</td>\n",
       "      <td>0.553556</td>\n",
       "      <td>0.289742</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>712</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.294943</td>\n",
       "      <td>0.282372</td>\n",
       "      <td>0.499571</td>\n",
       "      <td>0.312814</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>713</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.277292</td>\n",
       "      <td>0.282377</td>\n",
       "      <td>0.661097</td>\n",
       "      <td>0.224374</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>714</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.330249</td>\n",
       "      <td>0.340384</td>\n",
       "      <td>0.668809</td>\n",
       "      <td>0.173084</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>715</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.378013</td>\n",
       "      <td>0.381804</td>\n",
       "      <td>0.862468</td>\n",
       "      <td>0.161523</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>716</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.416433</td>\n",
       "      <td>0.423233</td>\n",
       "      <td>0.932733</td>\n",
       "      <td>0.156403</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>717</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.438239</td>\n",
       "      <td>0.434008</td>\n",
       "      <td>0.685090</td>\n",
       "      <td>0.410274</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>718</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.340632</td>\n",
       "      <td>0.345344</td>\n",
       "      <td>0.643102</td>\n",
       "      <td>0.333354</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>719</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.337517</td>\n",
       "      <td>0.336228</td>\n",
       "      <td>0.686804</td>\n",
       "      <td>0.226918</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>720</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.333364</td>\n",
       "      <td>0.292320</td>\n",
       "      <td>0.572408</td>\n",
       "      <td>0.725649</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>721</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.257562</td>\n",
       "      <td>0.206141</td>\n",
       "      <td>0.453728</td>\n",
       "      <td>0.793604</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>722</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.232641</td>\n",
       "      <td>0.236801</td>\n",
       "      <td>0.529992</td>\n",
       "      <td>0.228196</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>723</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.214537</td>\n",
       "      <td>0.236052</td>\n",
       "      <td>0.813680</td>\n",
       "      <td>0.113053</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>724</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.289300</td>\n",
       "      <td>0.282736</td>\n",
       "      <td>0.755561</td>\n",
       "      <td>0.301676</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>725</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.229525</td>\n",
       "      <td>0.185427</td>\n",
       "      <td>0.846615</td>\n",
       "      <td>0.606415</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>726</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.243025</td>\n",
       "      <td>0.193709</td>\n",
       "      <td>0.671380</td>\n",
       "      <td>0.675656</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>727</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.241986</td>\n",
       "      <td>0.230993</td>\n",
       "      <td>0.606684</td>\n",
       "      <td>0.274350</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>728</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.241986</td>\n",
       "      <td>0.214393</td>\n",
       "      <td>0.774208</td>\n",
       "      <td>0.210260</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>729</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.245101</td>\n",
       "      <td>0.200348</td>\n",
       "      <td>0.497001</td>\n",
       "      <td>0.676936</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>730</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.195259</td>\n",
       "      <td>0.189567</td>\n",
       "      <td>0.593830</td>\n",
       "      <td>0.273062</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>731 rows × 33 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
       "0           1         0         0         0       1       0       0       0   \n",
       "1           1         0         0         0       1       0       0       0   \n",
       "2           1         0         0         0       1       0       0       0   \n",
       "3           1         0         0         0       1       0       0       0   \n",
       "4           1         0         0         0       1       0       0       0   \n",
       "5           1         0         0         0       1       0       0       0   \n",
       "6           1         0         0         0       1       0       0       0   \n",
       "7           1         0         0         0       1       0       0       0   \n",
       "8           1         0         0         0       1       0       0       0   \n",
       "9           1         0         0         0       1       0       0       0   \n",
       "10          1         0         0         0       1       0       0       0   \n",
       "11          1         0         0         0       1       0       0       0   \n",
       "12          1         0         0         0       1       0       0       0   \n",
       "13          1         0         0         0       1       0       0       0   \n",
       "14          1         0         0         0       1       0       0       0   \n",
       "15          1         0         0         0       1       0       0       0   \n",
       "16          1         0         0         0       1       0       0       0   \n",
       "17          1         0         0         0       1       0       0       0   \n",
       "18          1         0         0         0       1       0       0       0   \n",
       "19          1         0         0         0       1       0       0       0   \n",
       "20          1         0         0         0       1       0       0       0   \n",
       "21          1         0         0         0       1       0       0       0   \n",
       "22          1         0         0         0       1       0       0       0   \n",
       "23          1         0         0         0       1       0       0       0   \n",
       "24          1         0         0         0       1       0       0       0   \n",
       "25          1         0         0         0       1       0       0       0   \n",
       "26          1         0         0         0       1       0       0       0   \n",
       "27          1         0         0         0       1       0       0       0   \n",
       "28          1         0         0         0       1       0       0       0   \n",
       "29          1         0         0         0       1       0       0       0   \n",
       "..        ...       ...       ...       ...     ...     ...     ...     ...   \n",
       "701         0         0         0         1       0       0       0       0   \n",
       "702         0         0         0         1       0       0       0       0   \n",
       "703         0         0         0         1       0       0       0       0   \n",
       "704         0         0         0         1       0       0       0       0   \n",
       "705         0         0         0         1       0       0       0       0   \n",
       "706         0         0         0         1       0       0       0       0   \n",
       "707         0         0         0         1       0       0       0       0   \n",
       "708         0         0         0         1       0       0       0       0   \n",
       "709         0         0         0         1       0       0       0       0   \n",
       "710         0         0         0         1       0       0       0       0   \n",
       "711         0         0         0         1       0       0       0       0   \n",
       "712         0         0         0         1       0       0       0       0   \n",
       "713         0         0         0         1       0       0       0       0   \n",
       "714         0         0         0         1       0       0       0       0   \n",
       "715         0         0         0         1       0       0       0       0   \n",
       "716         0         0         0         1       0       0       0       0   \n",
       "717         0         0         0         1       0       0       0       0   \n",
       "718         0         0         0         1       0       0       0       0   \n",
       "719         0         0         0         1       0       0       0       0   \n",
       "720         1         0         0         0       0       0       0       0   \n",
       "721         1         0         0         0       0       0       0       0   \n",
       "722         1         0         0         0       0       0       0       0   \n",
       "723         1         0         0         0       0       0       0       0   \n",
       "724         1         0         0         0       0       0       0       0   \n",
       "725         1         0         0         0       0       0       0       0   \n",
       "726         1         0         0         0       0       0       0       0   \n",
       "727         1         0         0         0       0       0       0       0   \n",
       "728         1         0         0         0       0       0       0       0   \n",
       "729         1         0         0         0       0       0       0       0   \n",
       "730         1         0         0         0       0       0       0       0   \n",
       "\n",
       "     mnth_5  mnth_6 ...  weekday_4  weekday_5  weekday_6      temp     atemp  \\\n",
       "0         0       0 ...          0          0          1  0.355170  0.373517   \n",
       "1         0       0 ...          0          0          0  0.379232  0.360541   \n",
       "2         0       0 ...          0          0          0  0.171000  0.144830   \n",
       "3         0       0 ...          0          0          0  0.175530  0.174649   \n",
       "4         0       0 ...          0          0          0  0.209120  0.197158   \n",
       "5         0       0 ...          1          0          0  0.180948  0.202329   \n",
       "6         0       0 ...          0          1          0  0.171197  0.170340   \n",
       "7         0       0 ...          0          0          1  0.131919  0.109191   \n",
       "8         0       0 ...          0          0          0  0.098690  0.048706   \n",
       "9         0       0 ...          0          0          0  0.114266  0.094271   \n",
       "10        0       0 ...          0          0          0  0.137016  0.147533   \n",
       "11        0       0 ...          0          0          0  0.141547  0.106853   \n",
       "12        0       0 ...          1          0          0  0.131919  0.094265   \n",
       "13        0       0 ...          0          1          0  0.126773  0.143528   \n",
       "14        0       0 ...          0          0          1  0.217065  0.221891   \n",
       "15        0       0 ...          0          0          0  0.214989  0.203652   \n",
       "16        0       0 ...          0          0          0  0.145417  0.128246   \n",
       "17        0       0 ...          0          0          0  0.196298  0.201179   \n",
       "18        0       0 ...          0          0          0  0.290384  0.287930   \n",
       "19        0       0 ...          1          0          0  0.252371  0.230998   \n",
       "20        0       0 ...          0          1          0  0.147494  0.103388   \n",
       "21        0       0 ...          0          0          1  0.000000  0.000000   \n",
       "22        0       0 ...          0          0          0  0.046591  0.025950   \n",
       "23        0       0 ...          0          0          0  0.047675  0.051010   \n",
       "24        0       0 ...          0          0          0  0.204785  0.204058   \n",
       "25        0       0 ...          0          0          0  0.197336  0.163463   \n",
       "26        0       0 ...          1          0          0  0.169300  0.184596   \n",
       "27        0       0 ...          0          1          0  0.179864  0.189344   \n",
       "28        0       0 ...          0          0          1  0.171197  0.174654   \n",
       "29        0       0 ...          0          0          0  0.196118  0.224792   \n",
       "..      ...     ... ...        ...        ...        ...       ...       ...   \n",
       "701       0       0 ...          0          0          0  0.359323  0.367719   \n",
       "702       0       0 ...          0          0          0  0.490158  0.494504   \n",
       "703       0       0 ...          0          0          0  0.519232  0.511907   \n",
       "704       0       0 ...          0          0          0  0.472505  0.458034   \n",
       "705       0       0 ...          1          0          0  0.245101  0.235138   \n",
       "706       0       0 ...          0          1          0  0.326094  0.318824   \n",
       "707       0       0 ...          0          0          1  0.401896  0.407492   \n",
       "708       0       0 ...          0          0          0  0.405012  0.408330   \n",
       "709       0       0 ...          0          0          0  0.469390  0.467961   \n",
       "710       0       0 ...          0          0          0  0.366591  0.340358   \n",
       "711       0       0 ...          0          0          0  0.297020  0.286507   \n",
       "712       0       0 ...          1          0          0  0.294943  0.282372   \n",
       "713       0       0 ...          0          1          0  0.277292  0.282377   \n",
       "714       0       0 ...          0          0          1  0.330249  0.340384   \n",
       "715       0       0 ...          0          0          0  0.378013  0.381804   \n",
       "716       0       0 ...          0          0          0  0.416433  0.423233   \n",
       "717       0       0 ...          0          0          0  0.438239  0.434008   \n",
       "718       0       0 ...          0          0          0  0.340632  0.345344   \n",
       "719       0       0 ...          1          0          0  0.337517  0.336228   \n",
       "720       0       0 ...          0          1          0  0.333364  0.292320   \n",
       "721       0       0 ...          0          0          1  0.257562  0.206141   \n",
       "722       0       0 ...          0          0          0  0.232641  0.236801   \n",
       "723       0       0 ...          0          0          0  0.214537  0.236052   \n",
       "724       0       0 ...          0          0          0  0.289300  0.282736   \n",
       "725       0       0 ...          0          0          0  0.229525  0.185427   \n",
       "726       0       0 ...          1          0          0  0.243025  0.193709   \n",
       "727       0       0 ...          0          1          0  0.241986  0.230993   \n",
       "728       0       0 ...          0          0          1  0.241986  0.214393   \n",
       "729       0       0 ...          0          0          0  0.245101  0.200348   \n",
       "730       0       0 ...          0          0          0  0.195259  0.189567   \n",
       "\n",
       "          hum  windspeed  holiday  workingday  yr  \n",
       "0    0.828620   0.284606        0           0   0  \n",
       "1    0.715771   0.466215        0           0   0  \n",
       "2    0.449638   0.465740        0           1   0  \n",
       "3    0.607131   0.284297        0           1   0  \n",
       "4    0.449313   0.339143        0           1   0  \n",
       "5    0.532916   0.138482        0           1   0  \n",
       "6    0.512798   0.301676        0           1   0  \n",
       "7    0.550985   0.503869        0           0   0  \n",
       "8    0.446444   0.700017        0           0   0  \n",
       "9    0.496573   0.414115        0           1   0  \n",
       "10   0.705773   0.205620        0           1   0  \n",
       "11   0.616499   0.581843        0           1   0  \n",
       "12   0.483719   0.574366        0           1   0  \n",
       "13   0.553034   0.214724        0           1   0  \n",
       "14   0.512853   0.279487        0           0   0  \n",
       "15   0.497429   0.342303        0           0   0  \n",
       "16   0.552699   0.353815        1           0   0  \n",
       "17   0.886033   0.256423        0           1   0  \n",
       "18   0.762714   0.383295        0           1   0  \n",
       "19   0.553556   0.357705        0           1   0  \n",
       "20   0.470008   0.682065        0           1   0  \n",
       "21   0.411311   0.308364        0           0   0  \n",
       "22   0.448866   0.462217        0           0   0  \n",
       "23   0.505644   0.280244        0           1   0  \n",
       "24   0.634403   0.221420        0           1   0  \n",
       "25   0.886889   0.559626        0           1   0  \n",
       "26   0.706941   0.188519        0           1   0  \n",
       "27   0.815468   0.208028        0           1   0  \n",
       "28   0.670169   0.253516        0           0   0  \n",
       "29   0.742595   0.106357        0           0   0  \n",
       "..        ...        ...      ...         ...  ..  \n",
       "701  0.846615   0.210252        0           0   1  \n",
       "702  0.789203   0.124372        0           1   1  \n",
       "703  0.754499   0.312814        0           1   1  \n",
       "704  0.498715   0.621825        0           1   1  \n",
       "705  0.523136   0.314103        0           1   1  \n",
       "706  0.785776   0.223077        0           1   1  \n",
       "707  0.937018   0.162836        0           0   1  \n",
       "708  0.931020   0.279512        0           0   1  \n",
       "709  0.951157   0.346168        0           1   1  \n",
       "710  0.613539   0.564134        0           1   1  \n",
       "711  0.553556   0.289742        0           1   1  \n",
       "712  0.499571   0.312814        0           1   1  \n",
       "713  0.661097   0.224374        0           1   1  \n",
       "714  0.668809   0.173084        0           0   1  \n",
       "715  0.862468   0.161523        0           0   1  \n",
       "716  0.932733   0.156403        0           1   1  \n",
       "717  0.685090   0.410274        0           1   1  \n",
       "718  0.643102   0.333354        0           1   1  \n",
       "719  0.686804   0.226918        0           1   1  \n",
       "720  0.572408   0.725649        0           1   1  \n",
       "721  0.453728   0.793604        0           0   1  \n",
       "722  0.529992   0.228196        0           0   1  \n",
       "723  0.813680   0.113053        0           1   1  \n",
       "724  0.755561   0.301676        1           0   1  \n",
       "725  0.846615   0.606415        0           1   1  \n",
       "726  0.671380   0.675656        0           1   1  \n",
       "727  0.606684   0.274350        0           1   1  \n",
       "728  0.774208   0.210260        0           0   1  \n",
       "729  0.497001   0.676936        0           0   1  \n",
       "730  0.593830   0.273062        0           1   1  \n",
       "\n",
       "[731 rows x 33 columns]"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model  import LinearRegression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### The coefficients\n",
    "print('Coefficients: \\n', regr.coef_)\n",
    "# The mean squared error\n",
    "print(\"Mean squared error: %.2f\"\n",
    "      % mean_squared_error(diabetes_y_test, diabetes_y_pred))\n",
    "# Explained variance score: 1 is perfect prediction\n",
    "print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))\n",
    "\n",
    "# Plot outputs\n",
    "##plt.scatter(diabetes_X_test, diabetes_y_test,  color='black')\n",
    "##plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)\n",
    "\n",
    "##plt.xticks(())\n",
    "#plt.yticks(())\n",
    "\n",
    "#plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "lr=LinearRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.fit(x_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_test_pred_lr=lr.predict(x_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train_pred_lr=lr.predict(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "feat_names=x.columns\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "fs=pd.DataFrame({\"columns\":list(feat_names),\"coef\":list((lr.coef_.T))})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2.483783e+14</td>\n",
       "      <td>weathersit_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2.441529e+14</td>\n",
       "      <td>weathersit_2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>2.285698e+14</td>\n",
       "      <td>workingday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>8.179367e+13</td>\n",
       "      <td>weathersit_3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>8.080272e+13</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>3.329929e+13</td>\n",
       "      <td>mnth_5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>3.273841e+13</td>\n",
       "      <td>mnth_10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>3.273841e+13</td>\n",
       "      <td>mnth_3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>3.245255e+13</td>\n",
       "      <td>mnth_12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>3.245255e+13</td>\n",
       "      <td>mnth_11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3.186949e+13</td>\n",
       "      <td>mnth_8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>3.186949e+13</td>\n",
       "      <td>mnth_6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>3.157208e+13</td>\n",
       "      <td>mnth_4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3.157208e+13</td>\n",
       "      <td>mnth_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>3.096494e+13</td>\n",
       "      <td>mnth_7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>3.002154e+13</td>\n",
       "      <td>mnth_2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2.936919e+13</td>\n",
       "      <td>mnth_9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>9.688750e+02</td>\n",
       "      <td>yr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>6.392500e+02</td>\n",
       "      <td>temp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2.235000e+02</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>-2.355000e+02</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>-2.650000e+02</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>-4.488377e+14</td>\n",
       "      <td>weekday_6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>-4.488377e+14</td>\n",
       "      <td>weekday_0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>-6.176242e+14</td>\n",
       "      <td>weekday_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>-6.239585e+14</td>\n",
       "      <td>weekday_4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>-6.270792e+14</td>\n",
       "      <td>weekday_5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>-6.270792e+14</td>\n",
       "      <td>weekday_3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>-6.392636e+14</td>\n",
       "      <td>weekday_2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-2.489956e+16</td>\n",
       "      <td>season_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-2.525514e+16</td>\n",
       "      <td>season_4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-2.525514e+16</td>\n",
       "      <td>season_3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-2.559174e+16</td>\n",
       "      <td>season_2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            coef       columns\n",
       "16  2.483783e+14  weathersit_1\n",
       "17  2.441529e+14  weathersit_2\n",
       "31  2.285698e+14    workingday\n",
       "18  8.179367e+13  weathersit_3\n",
       "30  8.080272e+13       holiday\n",
       "8   3.329929e+13        mnth_5\n",
       "13  3.273841e+13       mnth_10\n",
       "6   3.273841e+13        mnth_3\n",
       "15  3.245255e+13       mnth_12\n",
       "14  3.245255e+13       mnth_11\n",
       "11  3.186949e+13        mnth_8\n",
       "9   3.186949e+13        mnth_6\n",
       "7   3.157208e+13        mnth_4\n",
       "4   3.157208e+13        mnth_1\n",
       "10  3.096494e+13        mnth_7\n",
       "5   3.002154e+13        mnth_2\n",
       "12  2.936919e+13        mnth_9\n",
       "32  9.688750e+02            yr\n",
       "26  6.392500e+02          temp\n",
       "27  2.235000e+02         atemp\n",
       "29 -2.355000e+02     windspeed\n",
       "28 -2.650000e+02           hum\n",
       "25 -4.488377e+14     weekday_6\n",
       "19 -4.488377e+14     weekday_0\n",
       "20 -6.176242e+14     weekday_1\n",
       "23 -6.239585e+14     weekday_4\n",
       "24 -6.270792e+14     weekday_5\n",
       "22 -6.270792e+14     weekday_3\n",
       "21 -6.392636e+14     weekday_2\n",
       "0  -2.489956e+16      season_1\n",
       "3  -2.525514e+16      season_4\n",
       "2  -2.525514e+16      season_3\n",
       "1  -2.559174e+16      season_2"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fs.sort_values(by=['coef'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "##因为y没有标注化，系数过大\n",
    "##lasso"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from IPython.display import Latex\n",
    "Latex(r\"$\\hat{\\mathbf{W}}_{OLS}=(\\mathbf{X}^T\\mathbf{X})^{-1}\\mathbf{X}^T\\mathbf{y}$\")\n",
    "def OLS_pinv(x, y):\n",
    "    from numpy.linalg import pinv\n",
    "    from numpy import transpose,dot\n",
    "    inv = pinv(dot(x.transpose(), x))\n",
    "    w_ols = dot(inv, x.transpose())\n",
    "    w_ols = dot(w_ols, y.transpose())\n",
    "    \n",
    "    return w_ols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "Latex(r\"$\\hat{\\mathbf{W}}_{OLS}=(\\mathbf{X}^T\\mathbf{X})^{-1}\\mathbf{X}^T\\mathbf{y}$\")\n",
    "\n",
    "def OLS_svd(x, y):\n",
    "    from numpy.linalg import svd,inv\n",
    "    from numpy import transpose,dot\n",
    "    U,s,V = svd(x, full_matrices=False)\n",
    "    S = np.diag(s)\n",
    "    w_ols = dot(dot(transpose(V),inv(S)), dot(transpose(U),y))\n",
    "    \n",
    "    return w_ols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid character in identifier (<ipython-input-49-38c4a3a8ddd0>, line 5)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  File \u001b[1;32m\"<ipython-input-49-38c4a3a8ddd0>\"\u001b[1;36m, line \u001b[1;32m5\u001b[0m\n\u001b[1;33m    def OLS_bgd( x, y, eta=0.001҅ numIterations=10000, epsilon = 0.00001):\u001b[0m\n\u001b[1;37m                                ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid character in identifier\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from numpy import transpose,dot\n",
    "import matplotlib.pyplot as plt \n",
    "%matplotlib inline\n",
    "def OLS_bgd( x, y, eta=0.001҅ numIterations=10000, epsilon = 0.00001):\n",
    "    import numpy as np\n",
    "    from numpy import transpose,dot\n",
    "    import matplotlib.pyplot as plt\n",
    "    %matplotlib inline\n",
    "    N = len(x)  # number of samples\n",
    "    D = len(x[0]) \n",
    "    theta = np.zeros(D) \n",
    "    J_list = [] \n",
    "    x_transpose = transpose(x)\n",
    "    for iter in range(0, numIterations):\n",
    "        y_pred = np.dot(x, theta)\n",
    "        res = y - y_pred\n",
    "        J = np.sum(res ** 2) / N \n",
    "        J_list.append(J)\n",
    "        gradient = np.dot(x_transpose, res)\n",
    "        theta += eta * gradient\n",
    "        \n",
    "        if iter !=0 and abs(J_list[iter-1]-J)/J_list[iter-1] < epsilon:\n",
    "            break;\n",
    "            \n",
    "\n",
    "    \n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
